Matter remove superfluous `import.string` (#18938)

This commit is contained in:
s-hadinger 2023-06-22 23:49:35 +02:00 committed by GitHub
parent 85f357096a
commit bf36868813
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
105 changed files with 12871 additions and 13378 deletions

View File

@ -467,6 +467,14 @@ static void scan_f_string(blexer *lexer)
if ((i+1 < buf_unparsed_fstr.len) && (buf_unparsed_fstr.s[i+1] == '}')) { i++; } /* if '}}' replace with '}' */
save_char(lexer, '}');
break;
case '\n':
save_char(lexer, '\\');
save_char(lexer, 'n');
break;
case '\r':
save_char(lexer, '\\');
save_char(lexer, 'r');
break;
default: /* copy any other character */
save_char(lexer, ch);
break;

View File

@ -82,7 +82,7 @@ fprint(" const matter_command_t* commands;")
fprint("} matter_cluster_t;")
fprint()
for cl:cl_ids
fprint(string.format("const matter_attribute_t matter_Attributes_%04X[] = {", cl))
fprint(f"const matter_attribute_t matter_Attributes_{cl:04X}[] = {")
var attributes = c[cl_id_name[cl]]['attributes']
var attr_id_name = {}
for attr:attributes
@ -94,13 +94,13 @@ for cl:cl_ids
var reportable = attributes[attr_id].find('reportable', false)
var writable = attributes[attr_id].find('writable', false)
var flags = (writable ? 0x01 : 0x00) | (reportable ? 0x02 : 0x00)
fprint(string.format(' { 0x%04X, %i, 0x%02X, "%s" },', attr_id, 0, flags, attributes[attr_id]['attributeName']))
fprint(format(' { 0x%04X, %i, 0x%02X, "%s" },', attr_id, 0, flags, attributes[attr_id]['attributeName']))
end
fprint(' { 0xFFFF, 0, 0x00, NULL },')
fprint("};")
fprint()
# commands
fprint(string.format("const matter_command_t matter_Commands_%04X[] = {", cl))
fprint(f"const matter_command_t matter_Commands_{cl:04X}[] = {")
var commands = c[cl_id_name[cl]]['commands']
var cmd_id_name = {}
for cmd:commands
@ -109,7 +109,7 @@ for cl:cl_ids
var cmd_ids_local = k2l(cmd_id_name)
for cmd_id:cmd_ids_local
fprint(string.format(' { 0x%04X, "%s" },', cmd_id, commands[cmd_id]['commandName']))
fprint(format(' { 0x%04X, "%s" },', cmd_id, commands[cmd_id]['commandName']))
end
fprint(' { 0xFFFF, NULL },')
fprint("};")
@ -118,7 +118,7 @@ end
fprint("const matter_cluster_t matterAllClusters[] = {")
for cl:cl_ids
fprint(string.format(' { 0x%04X, "%s", matter_Attributes_%04X, matter_Commands_%04X },', cl, cl_id_name[cl], cl, cl))
fprint(format(' { 0x%04X, "%s", matter_Attributes_%04X, matter_Commands_%04X },', cl, cl_id_name[cl], cl, cl))
end
fprint(' { 0xFFFF, NULL, NULL },')
fprint("};")

View File

@ -5,7 +5,7 @@
import os
import global
import solidify
import string
import string as string2
import re
import sys
@ -18,7 +18,7 @@ var globs = "path,ctypes_bytes_dyn,tasmota,ccronexpr,gpio,light,webclient,load,M
"_lvgl,"
"int64"
for g:string.split(globs, ",")
for g:string2.split(globs, ",")
global.(g) = nil
end
@ -44,9 +44,9 @@ def parse_file(fname, prefix_out)
var compiled = compile(src)
compiled() # run the compile code to instanciate the classes and modules
# output solidified
var fname_h = string.split(fname, '.be')[0] + '.h' # take whatever is before the first '.be'
var fname_h = string2.split(fname, '.be')[0] + '.h' # take whatever is before the first '.be'
var fout = open(prefix_out + "solidified_" + fname_h, "w")
fout.write(string.format("/* Solidification of %s */\n", fname_h))
fout.write(f"/* Solidification of {fname_h} */\n")
fout.write("/********************************************************************\\\n")
fout.write("* Generated code, don't edit *\n")
fout.write("\\********************************************************************/\n")
@ -56,13 +56,13 @@ def parse_file(fname, prefix_out)
# print(directives)
for directive : directives
var object_list = string.split(directive[1], ',')
var object_list = string2.split(directive[1], ',')
var object_name = object_list[0]
var weak = (object_list.find('weak') != nil) # do we solidify with weak strings?
var o = global
var cl_name = nil
var obj_name = nil
for subname : string.split(object_name, '.')
for subname : string2.split(object_name, '.')
o = o.(subname)
cl_name = obj_name
obj_name = subname

View File

@ -26,7 +26,6 @@ class Matter_Base38
static def encode(raw)
# encodes b38 (mutates `b`)
def b38_enc(v, l)
import string
var ENCODE = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-."
var i = 0
var ret = ""

View File

@ -44,9 +44,8 @@ class Matter_Commisioning_Context
#############################################################
def add_session(local_session_id, initiator_session_id, i2r, r2i, ac)
import string
# create session object
tasmota.log(string.format("MTR: add_session local_session_id=%i initiator_session_id=%i", local_session_id, initiator_session_id), 4)
tasmota.log(format("MTR: add_session local_session_id=%i initiator_session_id=%i", local_session_id, initiator_session_id), 4)
var session = self.device.sessions.create_session(local_session_id, initiator_session_id)
session.set_keys(i2r, r2i, ac)
@ -75,8 +74,7 @@ class Matter_Commisioning_Context
elif msg.opcode == 0x40
return self.parse_StatusReport(msg)
else
import string
tasmota.log(string.format("MTR: >????????? Unknown OpCode (secure channel) %02X", msg.opcode), 2)
tasmota.log(format("MTR: >????????? Unknown OpCode (secure channel) %02X", msg.opcode), 2)
return false
end
@ -108,7 +106,6 @@ class Matter_Commisioning_Context
def parse_PBKDFParamRequest(msg)
import crypto
import string
var session = msg.session
# sanity checks
if msg.opcode != 0x20 || msg.local_session_id != 0 || msg.protocol_id != 0
@ -133,7 +130,7 @@ class Matter_Commisioning_Context
# record the initiator_session_id
session.__future_initiator_session_id = pbkdfparamreq.initiator_session_id
session.__future_local_session_id = self.device.sessions.gen_local_session_id()
tasmota.log(string.format("MTR: New_Session(%6i) from '[%s]:%i'", session.__future_local_session_id, msg.remote_ip, msg.remote_port), 3)
tasmota.log(format("MTR: New_Session(%6i) from '[%s]:%i'", session.__future_local_session_id, msg.remote_ip, msg.remote_port), 3)
# prepare response
var pbkdfparamresp = matter.PBKDFParamResponse()
@ -159,7 +156,6 @@ class Matter_Commisioning_Context
def parse_Pake1(msg)
import crypto
import string
var session = msg.session
# sanity checks
@ -239,7 +235,7 @@ class Matter_Commisioning_Context
var raw = resp.encode_frame(pake2_raw)
# log the fact that a new commissioning is starting
tasmota.log(string.format("MTR: New Commissioning (PASE id=%i) from [%s]:%i", session.__future_local_session_id, session._ip, session._port))
tasmota.log(format("MTR: New Commissioning (PASE id=%i) from [%s]:%i", session.__future_local_session_id, session._ip, session._port))
self.responder.send_response_frame(resp)
return true
@ -319,7 +315,6 @@ class Matter_Commisioning_Context
def parse_Sigma1(msg)
import crypto
import string
var session = msg.session
# sanity checks
if msg.opcode != 0x30 || msg.local_session_id != 0 || msg.protocol_id != 0
@ -329,13 +324,13 @@ class Matter_Commisioning_Context
return false
end
var sigma1 = matter.Sigma1().parse(msg.raw, msg.app_payload_idx)
# tasmota.log(string.format("MTR: sigma1=%s", matter.inspect(sigma1)), 4)
# tasmota.log(format("MTR: sigma1=%s", matter.inspect(sigma1)), 4)
session.__initiator_pub = sigma1.initiatorEphPubKey
# find session
var is_resumption = (sigma1.resumptionID != nil && sigma1.initiatorResumeMIC != nil)
# tasmota.log(string.format("MTR: is_resumption=%i", is_resumption ? 1 : 0), 4)
# tasmota.log(format("MTR: is_resumption=%i", is_resumption ? 1 : 0), 4)
# TODO disable resumption until fixed
is_resumption = false
@ -343,7 +338,7 @@ class Matter_Commisioning_Context
var session_resumption
if is_resumption
session_resumption = self.device.sessions.find_session_by_resumption_id(sigma1.resumptionID)
# tasmota.log(string.format("MTR: session_resumption found session=%s session_resumption=%s", matter.inspect(session), matter.inspect(session_resumption)), 4)
# tasmota.log(format("MTR: session_resumption found session=%s session_resumption=%s", matter.inspect(session), matter.inspect(session_resumption)), 4)
if session_resumption == nil || session_resumption._fabric == nil
is_resumption = false
end
@ -375,7 +370,7 @@ class Matter_Commisioning_Context
session.set_mode_CASE()
session.__future_initiator_session_id = sigma1.initiator_session_id # update initiator_session_id
session.__future_local_session_id = self.device.sessions.gen_local_session_id()
tasmota.log(string.format("MTR: New_Session(%6i) from '[%s]:%i'", session.__future_local_session_id, msg.remote_ip, msg.remote_port), 3)
tasmota.log(format("MTR: New_Session(%6i) from '[%s]:%i'", session.__future_local_session_id, msg.remote_ip, msg.remote_port), 3)
# Generate and Send Sigma2_Resume
session.shared_secret = session_resumption.shared_secret
@ -463,7 +458,7 @@ class Matter_Commisioning_Context
session.__future_initiator_session_id = sigma1.initiator_session_id # update initiator_session_id
session.__future_local_session_id = self.device.sessions.gen_local_session_id()
tasmota.log(string.format("MTR: New_Session(%6i) from '[%s]:%i'", session.__future_local_session_id, msg.remote_ip, msg.remote_port), 3)
tasmota.log(format("MTR: New_Session(%6i) from '[%s]:%i'", session.__future_local_session_id, msg.remote_ip, msg.remote_port), 3)
# tasmota.log("MTR: fabric="+matter.inspect(session._fabric), 4)
# tasmota.log("MTR: no_private_key="+session.get_pk().tohex(), 4)
@ -543,7 +538,7 @@ class Matter_Commisioning_Context
var raw = resp.encode_frame(sigma2_raw)
# log the fact that a new connection is starting
tasmota.log(string.format("MTR: New Connection (CASE id=%i) from [%s]:%i", session.__future_local_session_id, session._ip, session._port))
tasmota.log(format("MTR: New Connection (CASE id=%i) from [%s]:%i", session.__future_local_session_id, session._ip, session._port))
self.responder.send_response_frame(resp)
return true

View File

@ -45,8 +45,7 @@ class Matter_Control_Message
elif msg.opcode == 0x01
return self.parse_MsgCounterSyncRsp(msg)
else
import string
tasmota.log(string.format("MTR: >????????? Unknown OpCode (control message) %02X", msg.opcode), 2)
tasmota.log(format("MTR: >????????? Unknown OpCode (control message) %02X", msg.opcode), 2)
return false
end
@ -58,9 +57,8 @@ class Matter_Control_Message
#
# Not yet implemented
def parse_MsgCounterSyncReq(msg)
import string
var session = msg.session
tasmota.log(string.format("MTR: >MCSyncReq * Not implemented %s", msg.raw[msg.app_payload_idx..].tohex()), 2)
tasmota.log(format("MTR: >MCSyncReq * Not implemented %s", msg.raw[msg.app_payload_idx..].tohex()), 2)
return false # we don't explicitly ack the message
end
@ -69,9 +67,8 @@ class Matter_Control_Message
#
# Not yet implemented
def parse_MsgCounterSyncRsp(msg)
import string
var session = msg.session
tasmota.log(string.format("MTR: >MCSyncRsp * Not implemented %s", msg.raw[msg.app_payload_idx..].tohex()), 2)
tasmota.log(format("MTR: >MCSyncRsp * Not implemented %s", msg.raw[msg.app_payload_idx..].tohex()), 2)
return false # we don't explicitly ack the message
end

View File

@ -73,7 +73,6 @@ class Matter_Device
#############################################################
def init()
import crypto
import string
if !tasmota.get_option(matter.MATTER_OPTION)
matter.UI(self) # minimal UI
return
@ -154,16 +153,15 @@ class Matter_Device
#
# Open window for `timeout_s` (default 10 minutes)
def start_root_basic_commissioning(timeout_s)
import string
if timeout_s == nil timeout_s = self.PASE_TIMEOUT end
# show Manual pairing code in logs
var pairing_code = self.compute_manual_pairing_code()
tasmota.log(string.format("MTR: Manual pairing code: %s", pairing_code), 2)
tasmota.log(format("MTR: Manual pairing code: %s", pairing_code), 2)
# output MQTT
var qr_code = self.compute_qrcode_content()
tasmota.publish_result(string.format('{"Matter":{"Commissioning":1,"PairingCode":"%s","QRCode":"%s"}}', pairing_code, qr_code), 'Matter')
tasmota.publish_result(format('{"Matter":{"Commissioning":1,"PairingCode":"%s","QRCode":"%s"}}', pairing_code, qr_code), 'Matter')
# compute PBKDF
self._compute_pbkdf(self.root_passcode, self.root_iterations, self.root_salt)
@ -246,7 +244,6 @@ class Matter_Device
#
def _compute_pbkdf(passcode_int, iterations, salt)
import crypto
import string
var passcode = bytes().add(passcode_int, 4)
var tv = crypto.PBKDF2_HMAC_SHA256().derive(passcode, salt, iterations, 80)
@ -287,12 +284,11 @@ class Matter_Device
# <BR>
# can be done only for root PASE (we need the passcode, but we don't get it with OpenCommissioningWindow command)
def compute_manual_pairing_code()
import string
var digit_1 = (self.root_discriminator & 0x0FFF) >> 10
var digit_2_6 = ((self.root_discriminator & 0x0300) << 6) | (self.root_passcode & 0x3FFF)
var digit_7_10 = (self.root_passcode >> 14)
var ret = string.format("%1i%05i%04i", digit_1, digit_2_6, digit_7_10)
var ret = format("%1i%05i%04i", digit_1, digit_2_6, digit_7_10)
ret += matter.Verhoeff.checksum(ret)
return ret
end
@ -411,7 +407,6 @@ class Matter_Device
def start_operational_discovery(fabric)
import crypto
import mdns
import string
self.stop_basic_commissioning() # close all PASE commissioning information
# clear any PBKDF information to free memory
@ -427,11 +422,10 @@ class Matter_Device
#
# Stop basic commissioning.
def start_commissioning_complete(session)
import string
var fabric = session.get_fabric()
var fabric_id = fabric.get_fabric_id().copy().reverse().tohex()
var vendor_name = fabric.get_admin_vendor_name()
tasmota.log(string.format("MTR: --- Commissioning complete for Fabric '%s' (Vendor %s) ---", fabric_id, vendor_name), 2)
tasmota.log(format("MTR: --- Commissioning complete for Fabric '%s' (Vendor %s) ---", fabric_id, vendor_name), 2)
self.stop_basic_commissioning() # by default close commissioning when it's complete
end
@ -513,7 +507,6 @@ class Matter_Device
return l
end
import string
var endpoint = ctx.endpoint
# var endpoint_mono = [ endpoint ]
var endpoint_found = false # did any endpoint match
@ -526,13 +519,13 @@ class Matter_Device
var direct = (ctx.endpoint != nil) && (ctx.cluster != nil) && (ctx.attribute != nil) # true if the target is a precise attribute, false if it results from an expansion and error are ignored
# tasmota.log(string.format("MTR: process_attribute_expansion %s", str(ctx)), 4)
# tasmota.log(format("MTR: process_attribute_expansion %s", str(ctx)), 4)
# build the list of candidates
# list of all endpoints
var all = {} # map of {endpoint: {cluster: {attributes:[pi]}}
# tasmota.log(string.format("MTR: endpoint=%s cluster=%s attribute=%s", endpoint, cluster, attribute), 4)
# tasmota.log(format("MTR: endpoint=%s cluster=%s attribute=%s", endpoint, cluster, attribute), 4)
for pi: self.plugins
var ep = pi.get_endpoint() # get supported endpoints for this plugin
@ -543,7 +536,7 @@ class Matter_Device
# now explore the cluster list for 'ep'
var cluster_list = pi.get_cluster_list(ep) # cluster_list is the actual list of candidate cluster for this pluging and endpoint
# tasmota.log(string.format("MTR: pi=%s ep=%s cl_list=%s", str(pi), str(ep), str(cluster_list)), 4)
# tasmota.log(format("MTR: pi=%s ep=%s cl_list=%s", str(pi), str(ep), str(cluster_list)), 4)
for cl: cluster_list
if cluster != nil && cl != cluster continue end # skip if specific cluster and no match
# from now on, 'cl' is a good candidate
@ -552,7 +545,7 @@ class Matter_Device
# now filter on attributes
var attr_list = pi.get_attribute_list(ep, cl)
# tasmota.log(string.format("MTR: pi=%s ep=%s cl=%s at_list=%s", str(pi), str(ep), str(cl), str(attr_list)), 4)
# tasmota.log(format("MTR: pi=%s ep=%s cl=%s at_list=%s", str(pi), str(ep), str(cl), str(attr_list)), 4)
for at: attr_list
if attribute != nil && at != attribute continue end # skip if specific attribute and no match
# from now on, 'at' is a good candidate
@ -572,7 +565,7 @@ class Matter_Device
for cl: keys_sorted(all[ep])
for at: keys_sorted(all[ep][cl])
for pi: all[ep][cl][at]
# tasmota.log(string.format("MTR: expansion [%02X]%04X/%04X", ep, cl, at), 3)
# tasmota.log(format("MTR: expansion [%02X]%04X/%04X", ep, cl, at), 3)
ctx.endpoint = ep
ctx.cluster = cl
ctx.attribute = at
@ -630,9 +623,8 @@ class Matter_Device
#############################################################
#
def save_param()
import string
import json
var j = string.format('{"distinguish":%i,"passcode":%i,"ipv4only":%s,"nextep":%i', self.root_discriminator, self.root_passcode, self.ipv4only ? 'true':'false', self.next_ep)
var j = format('{"distinguish":%i,"passcode":%i,"ipv4only":%s,"nextep":%i', self.root_discriminator, self.root_passcode, self.ipv4only ? 'true':'false', self.next_ep)
if self.plugins_persist
j += ',"config":'
j += json.dump(self.plugins_config)
@ -642,7 +634,7 @@ class Matter_Device
var f = open(self.FILENAME, "w")
f.write(j)
f.close()
tasmota.log(string.format("MTR: =Saved parameters%s", self.plugins_persist ? " and configuration" : ""), 3)
tasmota.log(format("MTR: =Saved parameters%s", self.plugins_persist ? " and configuration" : ""), 3)
return j
except .. as e, m
tasmota.log("MTR: Session_Store::save Exception:" + str(e) + "|" + str(m), 2)
@ -653,7 +645,6 @@ class Matter_Device
#############################################################
# Load Matter Device parameters
def load_param()
import string
import crypto
try
@ -694,11 +685,10 @@ class Matter_Device
#############################################################
# Convert a configuration to a log string
static def conf_to_log(plugin_conf)
import string
var param_log = ''
for k:_class.k2l(plugin_conf)
if k == 'type' continue end
param_log += string.format(" %s:%s", k, plugin_conf[k])
param_log += format(" %s:%s", k, plugin_conf[k])
end
return param_log
end
@ -710,15 +700,13 @@ class Matter_Device
# Ex:
# {'32': {'filter': 'AXP192#Temperature', 'type': 'temperature'}, '40': {'filter': 'BMP280#Pressure', 'type': 'pressure'}, '34': {'filter': 'SHT3X#Temperature', 'type': 'temperature'}, '33': {'filter': 'BMP280#Temperature', 'type': 'temperature'}, '1': {'relay': 0, 'type': 'relay'}, '56': {'filter': 'SHT3X#Humidity', 'type': 'humidity'}, '0': {'type': 'root'}}
def _instantiate_plugins_from_config(config)
import string
var endpoints = self.k2l_num(config)
# tasmota.log("MTR: endpoints to be configured "+str(endpoints), 4)
tasmota.log("MTR: Configuring endpoints", 2)
# start with mandatory endpoint 0 for root node
self.plugins.push(matter.Plugin_Root(self, 0, {}))
tasmota.log(string.format("MTR: endpoint = %5i type:%s%s", 0, 'root', ''), 2)
tasmota.log(format("MTR: endpoint = %5i type:%s%s", 0, 'root', ''), 2)
# always include an aggregator for dynamic endpoints
self.plugins.push(matter.Plugin_Aggregator(self, 0xFF00, {}))
@ -727,7 +715,7 @@ class Matter_Device
if ep == 0 continue end # skip endpoint 0
try
var plugin_conf = config[str(ep)]
# tasmota.log(string.format("MTR: endpoint %i config %s", ep, plugin_conf), 3)
# tasmota.log(format("MTR: endpoint %i config %s", ep, plugin_conf), 3)
var pi_class_name = plugin_conf.find('type')
if pi_class_name == nil tasmota.log("MTR: no class name, skipping", 3) continue end
@ -738,12 +726,12 @@ class Matter_Device
var pi = pi_class(self, ep, plugin_conf)
self.plugins.push(pi)
tasmota.log(string.format("MTR: endpoint = %5i type:%s%s", ep, pi_class_name, self.conf_to_log(plugin_conf)), 2)
tasmota.log(format("MTR: endpoint = %5i type:%s%s", ep, pi_class_name, self.conf_to_log(plugin_conf)), 2)
except .. as e, m
tasmota.log("MTR: Exception" + str(e) + "|" + str(m), 2)
end
end
tasmota.log(string.format("MTR: endpoint = %5i type:%s%s", 0xFF00, 'aggregator', ''), 2)
tasmota.log(format("MTR: endpoint = %5i type:%s%s", 0xFF00, 'aggregator', ''), 2)
tasmota.publish_result('{"Matter":{"Initialized":1}}', 'Matter')
end
@ -813,24 +801,24 @@ class Matter_Device
var eth = tasmota.eth()
self.hostname_eth = string.replace(eth.find("mac"), ':', '')
if !self.ipv4only
# tasmota.log(string.format("MTR: calling mdns.add_hostname(%s, %s, %s)", self.hostname_eth, eth.find('ip6local',''), eth.find('ip','')), 4)
# tasmota.log(format("MTR: calling mdns.add_hostname(%s, %s, %s)", self.hostname_eth, eth.find('ip6local',''), eth.find('ip','')), 4)
mdns.add_hostname(self.hostname_eth, eth.find('ip6local',''), eth.find('ip',''), eth.find('ip6',''))
else
tasmota.log(string.format("MTR: calling mdns.add_hostname(%s, %s)", self.hostname_eth, eth.find('ip','')), 3)
tasmota.log(format("MTR: calling mdns.add_hostname(%s, %s)", self.hostname_eth, eth.find('ip','')), 3)
mdns.add_hostname(self.hostname_eth, eth.find('ip',''))
end
else
var wifi = tasmota.wifi()
self.hostname_wifi = string.replace(wifi.find("mac"), ':', '')
if !self.ipv4only
# tasmota.log(string.format("MTR: calling mdns.add_hostname(%s, %s, %s)", self.hostname_wifi, wifi.find('ip6local',''), wifi.find('ip','')), 4)
# tasmota.log(format("MTR: calling mdns.add_hostname(%s, %s, %s)", self.hostname_wifi, wifi.find('ip6local',''), wifi.find('ip','')), 4)
mdns.add_hostname(self.hostname_wifi, wifi.find('ip6local',''), wifi.find('ip',''), wifi.find('ip6',''))
else
tasmota.log(string.format("MTR: calling mdns.add_hostname(%s, %s)", self.hostname_eth, wifi.find('ip','')), 3)
tasmota.log(format("MTR: calling mdns.add_hostname(%s, %s)", self.hostname_eth, wifi.find('ip','')), 3)
mdns.add_hostname(self.hostname_wifi, wifi.find('ip',''))
end
end
tasmota.log(string.format("MTR: start mDNS on %s host '%s.local'", is_eth ? "eth" : "wifi", is_eth ? self.hostname_eth : self.hostname_wifi), 3)
tasmota.log(format("MTR: start mDNS on %s host '%s.local'", is_eth ? "eth" : "wifi", is_eth ? self.hostname_eth : self.hostname_wifi), 3)
except .. as e, m
tasmota.log("MTR: Exception" + str(e) + "|" + str(m), 2)
end
@ -842,7 +830,6 @@ class Matter_Device
# Announce MDNS for PASE commissioning
def mdns_announce_PASE()
import mdns
import string
import crypto
var services = {
@ -859,11 +846,11 @@ class Matter_Device
try
if self.hostname_eth
# Add Matter `_matterc._udp` service
# tasmota.log(string.format("MTR: calling mdns.add_service(%s, %s, %i, %s, %s, %s)", "_matterc", "_udp", 5540, str(services), self.commissioning_instance_eth, self.hostname_eth), 4)
# tasmota.log(format("MTR: calling mdns.add_service(%s, %s, %i, %s, %s, %s)", "_matterc", "_udp", 5540, str(services), self.commissioning_instance_eth, self.hostname_eth), 4)
mdns.add_service("_matterc", "_udp", 5540, services, self.commissioning_instance_eth, self.hostname_eth)
self.mdns_pase_eth = true
tasmota.log(string.format("MTR: announce mDNS on %s '%s' ptr to `%s.local`", "eth", self.commissioning_instance_eth, self.hostname_eth), 2)
tasmota.log(format("MTR: announce mDNS on %s '%s' ptr to `%s.local`", "eth", self.commissioning_instance_eth, self.hostname_eth), 2)
# `mdns.add_subtype(service:string, proto:string, instance:string, hostname:string, subtype:string) -> nil`
var subtype = "_L" + str(self.commissioning_discriminator & 0xFFF)
@ -881,11 +868,11 @@ class Matter_Device
end
if self.hostname_wifi
# tasmota.log(string.format("MTR: calling mdns.add_service(%s, %s, %i, %s, %s, %s)", "_matterc", "_udp", 5540, str(services), self.commissioning_instance_wifi, self.hostname_wifi), 4)
# tasmota.log(format("MTR: calling mdns.add_service(%s, %s, %i, %s, %s, %s)", "_matterc", "_udp", 5540, str(services), self.commissioning_instance_wifi, self.hostname_wifi), 4)
mdns.add_service("_matterc", "_udp", 5540, services, self.commissioning_instance_wifi, self.hostname_wifi)
self.mdns_pase_wifi = true
tasmota.log(string.format("MTR: starting mDNS on %s '%s' ptr to `%s.local`", "wifi", self.commissioning_instance_wifi, self.hostname_wifi), 3)
tasmota.log(format("MTR: starting mDNS on %s '%s' ptr to `%s.local`", "wifi", self.commissioning_instance_wifi, self.hostname_wifi), 3)
# `mdns.add_subtype(service:string, proto:string, instance:string, hostname:string, subtype:string) -> nil`
var subtype = "_L" + str(self.commissioning_discriminator & 0xFFF)
@ -911,18 +898,17 @@ class Matter_Device
# MDNS remove any PASE announce
def mdns_remove_PASE()
import mdns
import string
try
if self.mdns_pase_eth
tasmota.log(string.format("MTR: calling mdns.remove_service(%s, %s, %s, %s)", "_matterc", "_udp", self.commissioning_instance_eth, self.hostname_eth), 3)
tasmota.log(string.format("MTR: remove mDNS on %s '%s'", "eth", self.commissioning_instance_eth), 3)
tasmota.log(format("MTR: calling mdns.remove_service(%s, %s, %s, %s)", "_matterc", "_udp", self.commissioning_instance_eth, self.hostname_eth), 3)
tasmota.log(format("MTR: remove mDNS on %s '%s'", "eth", self.commissioning_instance_eth), 3)
self.mdns_pase_eth = false
mdns.remove_service("_matterc", "_udp", self.commissioning_instance_eth, self.hostname_eth)
end
if self.mdns_pase_wifi
tasmota.log(string.format("MTR: calling mdns.remove_service(%s, %s, %s, %s)", "_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi), 3)
tasmota.log(string.format("MTR: remove mDNS on %s '%s'", "wifi", self.commissioning_instance_wifi), 3)
tasmota.log(format("MTR: calling mdns.remove_service(%s, %s, %s, %s)", "_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi), 3)
tasmota.log(format("MTR: remove mDNS on %s '%s'", "wifi", self.commissioning_instance_wifi), 3)
self.mdns_pase_wifi = false
mdns.remove_service("_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi)
end
@ -945,7 +931,6 @@ class Matter_Device
# Start UDP mDNS announcements for commissioning
def mdns_announce_op_discovery(fabric)
import mdns
import string
try
var device_id = fabric.get_device_id().copy().reverse()
var k_fabric = fabric.get_fabric_compressed()
@ -954,14 +939,14 @@ class Matter_Device
# mdns
if (tasmota.eth().find("up"))
tasmota.log(string.format("MTR: adding mDNS on %s '%s' ptr to `%s.local`", "eth", op_node, self.hostname_eth), 3)
tasmota.log(format("MTR: adding mDNS on %s '%s' ptr to `%s.local`", "eth", op_node, self.hostname_eth), 3)
mdns.add_service("_matter","_tcp", 5540, nil, op_node, self.hostname_eth)
var subtype = "_I" + k_fabric.tohex()
tasmota.log("MTR: adding subtype: "+subtype, 3)
mdns.add_subtype("_matter", "_tcp", op_node, self.hostname_eth, subtype)
end
if (tasmota.wifi().find("up"))
tasmota.log(string.format("MTR: adding mDNS on %s '%s' ptr to `%s.local`", "wifi", op_node, self.hostname_wifi), 3)
tasmota.log(format("MTR: adding mDNS on %s '%s' ptr to `%s.local`", "wifi", op_node, self.hostname_wifi), 3)
mdns.add_service("_matter","_tcp", 5540, nil, op_node, self.hostname_wifi)
var subtype = "_I" + k_fabric.tohex()
tasmota.log("MTR: adding subtype: "+subtype, 3)
@ -986,7 +971,6 @@ class Matter_Device
# Remove mDNS announce for fabric
def mdns_remove_op_discovery(fabric)
import mdns
import string
try
var device_id = fabric.get_device_id().copy().reverse()
var k_fabric = fabric.get_fabric_compressed()
@ -994,11 +978,11 @@ class Matter_Device
# mdns
if (tasmota.eth().find("up"))
tasmota.log(string.format("MTR: remove mDNS on %s '%s'", "eth", op_node), 3)
tasmota.log(format("MTR: remove mDNS on %s '%s'", "eth", op_node), 3)
mdns.remove_service("_matter", "_tcp", op_node, self.hostname_eth)
end
if (tasmota.wifi().find("up"))
tasmota.log(string.format("MTR: remove mDNS on %s '%s'", "wifi", op_node), 3)
tasmota.log(format("MTR: remove mDNS on %s '%s'", "wifi", op_node), 3)
mdns.remove_service("_matter", "_tcp", op_node, self.hostname_wifi)
end
except .. as e, m
@ -1021,7 +1005,6 @@ class Matter_Device
# Applies only if there are no plugins already configured
## TODO generate map instead
def autoconf_device()
import string
import json
if size(self.plugins) > 0 return end # already configured
@ -1044,7 +1027,6 @@ class Matter_Device
#
# Applies only if there are no plugins already configured
def autoconf_device_map()
import string
import json
var m = {}
@ -1082,14 +1064,14 @@ class Matter_Device
var k = 'SHT' + str(idx) # SHT is zero based
if !r_st13.contains(k) break end # no more SHTxxx
var d = r_st13[k]
tasmota.log(string.format("MTR: '%s' = %s", k, str(d)), 3)
tasmota.log(format("MTR: '%s' = %s", k, str(d)), 3)
var relay1 = d.find('Relay1', 0) - 1 # relay base 0 or -1 if none
var relay2 = d.find('Relay2', 0) - 1 # relay base 0 or -1 if none
if relay1 >= 0 relays_reserved.push(relay1) end # mark relay1/2 as non-relays
if relay2 >= 0 relays_reserved.push(relay2) end
tasmota.log(string.format("MTR: relay1 = %s, relay2 = %s", relay1, relay2), 3)
tasmota.log(format("MTR: relay1 = %s, relay2 = %s", relay1, relay2), 3)
# is there tilt support
var tilt_array = d.find('TiltConfig')
var tilt_config = tilt_array && (tilt_array[2] > 0)
@ -1241,7 +1223,6 @@ class Matter_Device
# `plugin_conf`: map of configuration as native Berry map
# returns endpoint number newly allocated, or `nil` if failed
def bridge_add_endpoint(pi_class_name, plugin_conf)
import string
var pi_class = self.plugins_classes.find(pi_class_name)
if pi_class == nil tasmota.log("MTR: unknown class name '"+str(pi_class_name)+"' skipping", 3) return end
@ -1260,7 +1241,7 @@ class Matter_Device
pi_conf[k] = plugin_conf[k]
end
# add to main
tasmota.log(string.format("MTR: adding endpoint = %i type:%s%s", ep, pi_class_name, self.conf_to_log(plugin_conf)), 2)
tasmota.log(format("MTR: adding endpoint = %i type:%s%s", ep, pi_class_name, self.conf_to_log(plugin_conf)), 2)
self.plugins_config[ep_str] = pi_conf
self.plugins_persist = true
self.next_ep += 1 # increment next allocated endpoint before saving
@ -1276,7 +1257,6 @@ class Matter_Device
# Remove an existing endpoint
#
def bridge_remove_endpoint(ep)
import string
import json
var ep_str = str(ep)
@ -1287,7 +1267,7 @@ class Matter_Device
tasmota.log("MTR: Cannot remove an enpoint not configured: " + ep_str, 3)
return
end
tasmota.log(string.format("MTR: deleting endpoint = %i", ep), 2)
tasmota.log(format("MTR: deleting endpoint = %i", ep), 2)
self.plugins_config.remove(ep_str)
self.plugins_persist = true
@ -1387,7 +1367,6 @@ class Matter_Device
# Remove HTTP remotes that are no longer referenced
def clean_remotes()
import introspect
import string
# init all remotes with count 0
if self.http_remotes

View File

@ -102,8 +102,7 @@ class Matter_Fabric : Matter_Expirable
if name != nil
return name
else
import string
return string.format("0x%04X", vnd)
return f"0x{vnd:04X}"
end
end
@ -184,9 +183,8 @@ class Matter_Fabric : Matter_Expirable
# Provide the next counter value, and update the last know persisted if needed
#
def counter_group_data_snd_next()
import string
var next = self._counter_group_data_snd_impl.next()
tasmota.log(string.format("MTR: . Counter_group_data_snd=%i", next), 3)
tasmota.log(f"MTR: . Counter_group_data_snd={next:i}", 3)
if matter.Counter.is_greater(next, self.counter_group_data_snd)
self.counter_group_data_snd = next + self._GROUP_SND_INCR
if self.does_persist()
@ -200,9 +198,8 @@ class Matter_Fabric : Matter_Expirable
# Provide the next counter value, and update the last know persisted if needed
#
def counter_group_ctrl_snd_next()
import string
var next = self._counter_group_ctrl_snd_impl.next()
tasmota.log(string.format("MTR: . Counter_group_ctrl_snd=%i", next), 3)
tasmota.log(f"MTR: . Counter_group_ctrl_snd={next:i}", 3)
if matter.Counter.is_greater(next, self.counter_group_ctrl_snd)
self.counter_group_ctrl_snd = next + self._GROUP_SND_INCR
if self.does_persist()
@ -216,15 +213,13 @@ class Matter_Fabric : Matter_Expirable
#############################################################
# Called before removal
def log_new_fabric()
import string
tasmota.log(string.format("MTR: +Fabric fab='%s' vendorid=%s", self.get_fabric_id().copy().reverse().tohex(), self.get_admin_vendor_name()), 3)
tasmota.log(format("MTR: +Fabric fab='%s' vendorid=%s", self.get_fabric_id().copy().reverse().tohex(), self.get_admin_vendor_name()), 3)
end
#############################################################
# Called before removal
def before_remove()
import string
tasmota.log(string.format("MTR: -Fabric fab='%s' (removed)", self.get_fabric_id().copy().reverse().tohex()), 3)
tasmota.log(format("MTR: -Fabric fab='%s' (removed)", self.get_fabric_id().copy().reverse().tohex()), 3)
end
#############################################################
@ -287,7 +282,6 @@ class Matter_Fabric : Matter_Expirable
#############################################################
def tojson()
import json
import string
import introspect
self.persist_pre()
@ -303,7 +297,7 @@ class Matter_Fabric : Matter_Expirable
var v = introspect.get(self, k)
if v == nil continue end
if isinstance(v, bytes) v = "$$" + v.tob64() end # bytes
r.push(string.format("%s:%s", json.dump(str(k)), json.dump(v)))
r.push(format("%s:%s", json.dump(str(k)), json.dump(v)))
end
# add sessions

View File

@ -251,7 +251,7 @@ class Matter_HTTP_async : Matter_TCP_async
addr = "[" + addr + "]" # IPv6 must be enclosed in brakets
end
var req = string.format(self.HTTP_GET, self.cmd, addr, self.port)
var req = format(self.HTTP_GET, self.cmd, addr, self.port)
var ret = self.write(req)
if ret != size(req)
# print("Could not send","size=",size(req),"ret=",ret)

View File

@ -123,7 +123,7 @@ class Matter_HTTP_remote : Matter_HTTP_async
self.current_cmd = cmd
var cmd_url = "/cm?cmnd=" + string.tr(cmd, ' ', '+')
tasmota.log(string.format("MTR: HTTP async request 'http://%s:%i%s'", self.addr, self.port, cmd_url), 3)
tasmota.log(format("MTR: HTTP async request 'http://%s:%i%s'", self.addr, self.port, cmd_url), 3)
var ret = self.begin(cmd_url)
end
@ -142,20 +142,19 @@ class Matter_HTTP_remote : Matter_HTTP_async
self.current_cmd = nil
var cmd_url = "/cm?cmnd=" + string.tr(cmd, ' ', '+')
tasmota.log(string.format("MTR: HTTP sync request 'http://%s:%i%s'", self.addr, self.port, cmd_url), 3)
tasmota.log(format("MTR: HTTP sync request 'http://%s:%i%s'", self.addr, self.port, cmd_url), 3)
var ret = super(self).begin_sync(cmd_url, timeout)
var payload_short = (ret) ? ret : 'nil'
if size(payload_short) > 30 payload_short = payload_short[0..29] + '...' end
tasmota.log(string.format("MTR: HTTP sync-resp in %i ms from %s: [%i] '%s'", tasmota.millis() - self.time_start, self.addr, size(self.payload), payload_short), 3)
tasmota.log(format("MTR: HTTP sync-resp in %i ms from %s: [%i] '%s'", tasmota.millis() - self.time_start, self.addr, size(self.payload), payload_short), 3)
return ret
end
def event_http_finished()
if self.current_cmd == nil return end # do nothing if sync request
import string
var payload_short = (self.payload != nil) ? self.payload : 'nil'
if size(payload_short) > 30 payload_short = payload_short[0..29] + '...' end
tasmota.log(string.format("MTR: HTTP async-resp in %i ms from %s: [%i] '%s'", tasmota.millis() - self.time_start, self.addr, size(self.payload), payload_short), 3)
tasmota.log(format("MTR: HTTP async-resp in %i ms from %s: [%i] '%s'", tasmota.millis() - self.time_start, self.addr, size(self.payload), payload_short), 3)
self.dispatch_cb(self.http_status, self.payload)
end
def event_http_failed()
@ -164,9 +163,8 @@ class Matter_HTTP_remote : Matter_HTTP_async
self.dispatch_cb(self.http_status, nil)
end
def event_http_timeout()
import string
if self.current_cmd == nil return end # do nothing if sync request
tasmota.log(string.format("MTR: HTTP timeout http_status=%i phase=%i tcp_status=%i size_payload=%i", self.http_status, self.phase, self.status, size(self.payload)), 3)
tasmota.log(format("MTR: HTTP timeout http_status=%i phase=%i tcp_status=%i size_payload=%i", self.http_status, self.phase, self.status, size(self.payload)), 3)
self.dispatch_cb(self.http_status, nil)
end
@ -212,7 +210,6 @@ class Matter_HTTP_remote : Matter_HTTP_async
# Show when the device was last seen
def web_last_seen()
import webserver
import string
var seconds = -1 # default if no known value
if self.reachable_utc != nil

View File

@ -83,10 +83,9 @@ class Matter_IM
#
# return `true` if handled
def process_incoming_ack(msg)
import string
# check if there is an exchange_id interested in receiving this
var message = self.find_sendqueue_by_exchangeid(msg.exchange_id)
# tasmota.log(string.format("MTR: process_incoming_ack exch=%i message=%i", msg.exchange_id, message != nil ? 1 : 0), 4)
# tasmota.log(format("MTR: process_incoming_ack exch=%i message=%i", msg.exchange_id, message != nil ? 1 : 0), 4)
if message
return message.ack_received(msg) # dispatch to IM_Message
end
@ -179,18 +178,17 @@ class Matter_IM
# or raises an exception
# return true if we handled the response and ack, false instead
def process_status_response(msg, val)
import string
var status = val.findsubval(0, 0xFF)
var message = self.find_sendqueue_by_exchangeid(msg.exchange_id)
if status == matter.SUCCESS
if message
return message.status_ok_received(msg) # re-arm the sending of next packets for the same exchange
else
tasmota.log(string.format("MTR: >OK (%6i) exch=%i not found", msg.session.local_session_id, msg.exchange_id), 3) # don't show 'SUCCESS' to not overflow logs with non-information
tasmota.log(format("MTR: >OK (%6i) exch=%i not found", msg.session.local_session_id, msg.exchange_id), 3) # don't show 'SUCCESS' to not overflow logs with non-information
end
else
# error
tasmota.log(string.format("MTR: >Status ERROR = 0x%02X", status), 3)
tasmota.log(format("MTR: >Status ERROR = 0x%02X", status), 3)
if message
message.status_error_received(msg)
self.remove_sendqueue_by_exchangeid(msg.exchange_id)
@ -204,7 +202,6 @@ class Matter_IM
#
# query: `ReadRequestMessage` or `SubscribeRequestMessage`
def _inner_process_read_request(session, query, no_log)
import string
### Inner function to be iterated upon
# ret is the ReportDataMessage list to send back
@ -215,7 +212,6 @@ class Matter_IM
#
# should return true if answered, false if passing to next handler
def read_single_attribute(ret, pi, ctx, direct)
import string
var TLV = matter.TLV
var attr_name = matter.get_attribute_name(ctx.cluster, ctx.attribute)
attr_name = attr_name ? " (" + attr_name + ")" : ""
@ -239,10 +235,10 @@ class Matter_IM
var a1_len = a1_tlv.encode_len()
var a1_bytes = bytes(a1_len) # pre-size bytes() to the actual size
a1_raw = a1_tlv.tlv2raw(a1_bytes)
# tasmota.log(string.format("MTR: guessed len=%i actual=%i '%s'", a1_len, size(a1_raw), a1_raw.tohex()), 2)
# tasmota.log(format("MTR: guessed len=%i actual=%i '%s'", a1_len, size(a1_raw), a1_raw.tohex()), 2)
if !no_log
tasmota.log(string.format("MTR: >Read_Attr (%6i) %s%s - %s", session.local_session_id, str(ctx), attr_name, res_str), 3)
tasmota.log(format("MTR: >Read_Attr (%6i) %s%s - %s", session.local_session_id, str(ctx), attr_name, res_str), 3)
end
elif ctx.status != nil
if direct # we report an error only if a concrete direct read, not with wildcards
@ -260,10 +256,10 @@ class Matter_IM
var a1_bytes = bytes(a1_len) # pre-size bytes() to the actual size
a1_raw = a1_tlv.tlv2raw(a1_bytes)
tasmota.log(string.format("MTR: >Read_Attr (%6i) %s%s - STATUS: 0x%02X %s", session.local_session_id, str(ctx), attr_name, ctx.status, ctx.status == matter.UNSUPPORTED_ATTRIBUTE ? "UNSUPPORTED_ATTRIBUTE" : ""), 3)
tasmota.log(format("MTR: >Read_Attr (%6i) %s%s - STATUS: 0x%02X %s", session.local_session_id, str(ctx), attr_name, ctx.status, ctx.status == matter.UNSUPPORTED_ATTRIBUTE ? "UNSUPPORTED_ATTRIBUTE" : ""), 3)
end
else
tasmota.log(string.format("MTR: >Read_Attr (%6i) %s%s - IGNORED", session.local_session_id, str(ctx), attr_name), 3)
tasmota.log(format("MTR: >Read_Attr (%6i) %s%s - IGNORED", session.local_session_id, str(ctx), attr_name), 3)
# ignore if content is nil and status is undefined
found = false
end
@ -307,9 +303,9 @@ class Matter_IM
# we need expansion, log first
if ctx.cluster != nil && ctx.attribute != nil
var attr_name = matter.get_attribute_name(ctx.cluster, ctx.attribute)
tasmota.log(string.format("MTR: >Read_Attr (%6i) %s", session.local_session_id, str(ctx) + (attr_name ? " (" + attr_name + ")" : "")), 3)
tasmota.log(format("MTR: >Read_Attr (%6i) %s", session.local_session_id, str(ctx) + (attr_name ? " (" + attr_name + ")" : "")), 3)
else
tasmota.log(string.format("MTR: >Read_Attr (%6i) %s", session.local_session_id, str(ctx)), 3)
tasmota.log(format("MTR: >Read_Attr (%6i) %s", session.local_session_id, str(ctx)), 3)
end
end
@ -346,7 +342,6 @@ class Matter_IM
# process IM 0x03 Subscribe Request
#
def subscribe_request(msg, val)
import string
var query = matter.SubscribeRequestMessage().from_TLV(val)
if !query.keep_subscriptions
@ -366,7 +361,7 @@ class Matter_IM
ctx.attribute = q.attribute
attr_req.push(str(ctx))
end
tasmota.log(string.format("MTR: >Subscribe (%6i) %s (min=%i, max=%i, keep=%i) sub=%i",
tasmota.log(format("MTR: >Subscribe (%6i) %s (min=%i, max=%i, keep=%i) sub=%i",
msg.session.local_session_id, attr_req.concat(" "), sub.min_interval, sub.max_interval, query.keep_subscriptions ? 1 : 0, sub.subscription_id), 3)
var ret = self._inner_process_read_request(msg.session, query, true #-no_log-#)
@ -383,7 +378,6 @@ class Matter_IM
# returns `true` if processed, `false` if silently ignored,
# or raises an exception
def process_invoke_request(msg, val)
import string
# structure is `ReadRequestMessage` 10.6.2 p.558
# tasmota.log("MTR: IM:invoke_request processing start", 4)
var ctx = matter.Path()
@ -405,7 +399,7 @@ class Matter_IM
var ctx_str = str(ctx) # keep string before invoking, it is modified by response
var res = self.device.invoke_request(msg.session, q.command_fields, ctx)
var params_log = (ctx.log != nil) ? "(" + str(ctx.log) + ") " : ""
tasmota.log(string.format("MTR: >Command (%6i) %s %s %s", msg.session.local_session_id, ctx_str, cmd_name ? cmd_name : "", params_log), ctx.endpoint != 0 ? 2 : 3 #- don't log for endpoint 0 -# )
tasmota.log(format("MTR: >Command (%6i) %s %s %s", msg.session.local_session_id, ctx_str, cmd_name ? cmd_name : "", params_log), ctx.endpoint != 0 ? 2 : 3 #- don't log for endpoint 0 -# )
ctx.log = nil
var a1 = matter.InvokeResponseIB()
if res == true || ctx.status == matter.SUCCESS # special case, just respond ok
@ -417,7 +411,7 @@ class Matter_IM
a1.status.status = matter.StatusIB()
a1.status.status.status = matter.SUCCESS
ret.invoke_responses.push(a1)
tasmota.log(string.format("MTR: <Replied (%6i) OK exch=%i", msg.session.local_session_id, msg.exchange_id), 3)
tasmota.log(format("MTR: <Replied (%6i) OK exch=%i", msg.session.local_session_id, msg.exchange_id), 3)
elif res != nil
a1.command = matter.CommandDataIB()
a1.command.command_path = matter.CommandPathIB()
@ -428,7 +422,7 @@ class Matter_IM
ret.invoke_responses.push(a1)
cmd_name = matter.get_command_name(ctx.cluster, ctx.command)
tasmota.log(string.format("MTR: <Replied (%6i) %s %s", msg.session.local_session_id, str(ctx), cmd_name ? cmd_name : ""), 3)
tasmota.log(format("MTR: <Replied (%6i) %s %s", msg.session.local_session_id, str(ctx), cmd_name ? cmd_name : ""), 3)
elif ctx.status != nil
a1.status = matter.CommandStatusIB()
a1.status.command_path = matter.CommandPathIB()
@ -438,9 +432,9 @@ class Matter_IM
a1.status.status = matter.StatusIB()
a1.status.status.status = ctx.status
ret.invoke_responses.push(a1)
tasmota.log(string.format("MTR: <Replied (%6i) Status=0x%02X exch=%i", msg.session.local_session_id, ctx.status, msg.exchange_id), 3)
tasmota.log(format("MTR: <Replied (%6i) Status=0x%02X exch=%i", msg.session.local_session_id, ctx.status, msg.exchange_id), 3)
else
tasmota.log(string.format("MTR: _Ignore (%6i) exch=%i", msg.session.local_session_id, msg.exchange_id), 3)
tasmota.log(format("MTR: _Ignore (%6i) exch=%i", msg.session.local_session_id, msg.exchange_id), 3)
# ignore if content is nil and status is undefined
end
end
@ -462,7 +456,6 @@ class Matter_IM
# process IM 0x04 Subscribe Response
#
def subscribe_response(msg, val)
import string
var query = matter.SubscribeResponseMessage().from_TLV(val)
# tasmota.log("MTR: received SubscribeResponsetMessage=" + str(query), 4)
return false
@ -472,7 +465,6 @@ class Matter_IM
# process IM 0x05 ReportData
#
def report_data(msg, val)
import string
var query = matter.ReportDataMessage().from_TLV(val)
# tasmota.log("MTR: received ReportDataMessage=" + str(query), 4)
return false
@ -482,7 +474,6 @@ class Matter_IM
# process IM 0x06 Write Request
#
def process_write_request(msg, val)
import string
var query = matter.WriteRequestMessage().from_TLV(val)
# tasmota.log("MTR: received WriteRequestMessage=" + str(query), 3)
@ -502,10 +493,9 @@ class Matter_IM
#
# should return true if answered, false if failed
def write_single_attribute(ret, pi, ctx, write_data, direct)
import string
var attr_name = matter.get_attribute_name(ctx.cluster, ctx.attribute)
attr_name = attr_name ? " (" + attr_name + ")" : ""
# tasmota.log(string.format("MTR: Read Attribute " + str(ctx) + (attr_name ? " (" + attr_name + ")" : ""), 2)
# tasmota.log(format("MTR: Read Attribute " + str(ctx) + (attr_name ? " (" + attr_name + ")" : ""), 2)
# Special case to report unsupported item, if pi==nil
ctx.status = matter.UNSUPPORTED_WRITE
var res = (pi != nil) ? pi.write_attribute(msg.session, ctx, write_data) : nil
@ -521,11 +511,11 @@ class Matter_IM
a1.status.status = ctx.status
ret.write_responses.push(a1)
tasmota.log(string.format("MTR: Write_Attr %s%s - STATUS: 0x%02X %s", str(ctx), attr_name, ctx.status, ctx.status == matter.SUCCESS ? "SUCCESS" : ""), (ctx.endpoint != 0) ? 2 : 3)
tasmota.log(format("MTR: Write_Attr %s%s - STATUS: 0x%02X %s", str(ctx), attr_name, ctx.status, ctx.status == matter.SUCCESS ? "SUCCESS" : ""), (ctx.endpoint != 0) ? 2 : 3)
return true
end
else
tasmota.log(string.format("MTR: Write_Attr %s%s - IGNORED", str(ctx), attr_name), 3)
tasmota.log(format("MTR: Write_Attr %s%s - IGNORED", str(ctx), attr_name), 3)
# ignore if content is nil and status is undefined
end
end
@ -585,7 +575,6 @@ class Matter_IM
# process IM 0x07 Write Response
#
def process_write_response(msg, val)
import string
var query = matter.WriteResponseMessage().from_TLV(val)
# tasmota.log("MTR: received WriteResponseMessage=" + str(query), 4)
return false
@ -595,7 +584,6 @@ class Matter_IM
# process IM 0x09 Invoke Response
#
def process_invoke_response(msg, val)
import string
var query = matter.InvokeResponseMessage().from_TLV(val)
# tasmota.log("MTR: received InvokeResponseMessage=" + str(query), 4)
return false
@ -605,11 +593,10 @@ class Matter_IM
# process IM 0x0A Timed Request
#
def process_timed_request(msg, val)
import string
var query = matter.TimedRequestMessage().from_TLV(val)
# tasmota.log("MTR: received TimedRequestMessage=" + str(query), 3)
tasmota.log(string.format("MTR: >Command (%6i) TimedRequest=%i", msg.session.local_session_id, query.timeout), 3)
tasmota.log(format("MTR: >Command (%6i) TimedRequest=%i", msg.session.local_session_id, query.timeout), 3)
# Send success status report
self.send_status(msg, matter.SUCCESS)
@ -621,7 +608,6 @@ class Matter_IM
# send regular update for data subscribed
#
def send_subscribe_update(sub)
import string
var session = sub.session
# create a fake read request to feed to the ReportData
@ -637,7 +623,7 @@ class Matter_IM
fake_read.attributes_requests.push(p1)
end
tasmota.log(string.format("MTR: <Sub_Data (%6i) sub=%i", session.local_session_id, sub.subscription_id), 3)
tasmota.log(format("MTR: <Sub_Data (%6i) sub=%i", session.local_session_id, sub.subscription_id), 3)
sub.is_keep_alive = false # sending an actual data update
var ret = self._inner_process_read_request(session, fake_read)
@ -653,10 +639,9 @@ class Matter_IM
# send regular update for data subscribed
#
def send_subscribe_heartbeat(sub)
import string
var session = sub.session
tasmota.log(string.format("MTR: <Sub_Alive (%6i) sub=%i", session.local_session_id, sub.subscription_id), 3)
tasmota.log(format("MTR: <Sub_Alive (%6i) sub=%i", session.local_session_id, sub.subscription_id), 3)
sub.is_keep_alive = true # sending keep-alive
# prepare the response

View File

@ -96,12 +96,11 @@ class Matter_AttributePathIB : Matter_IM_base
def tostring()
try
import string
var s = ""
if self.node s += string.format("node=%s ", self.node) end
s += (self.endpoint != nil ? string.format("[%02X]", self.endpoint) : "[**]")
s += (self.cluster != nil ? string.format("%04X/", self.cluster) : "****/")
s += (self.attribute != nil ? string.format("%04X", self.attribute) : "****")
if self.node s += format("node=%s ", self.node) end
s += (self.endpoint != nil ? format("[%02X]", self.endpoint) : "[**]")
s += (self.cluster != nil ? format("%04X/", self.cluster) : "****/")
s += (self.attribute != nil ? format("%04X", self.attribute) : "****")
return s
except .. as e, m
return "Exception> " + str(e) + ", " + str(m)

View File

@ -66,8 +66,7 @@ class Matter_IM_Message
# Status Report OK received for previous message, proceed to next (if any)
# return true if we manage the ack ourselves, false if it needs to be done upper
def status_ok_received(msg)
import string
# tasmota.log(string.format("MTR: IM_Message status_ok_received exch=%i", self.resp.exchange_id), 3)
# tasmota.log(format("MTR: IM_Message status_ok_received exch=%i", self.resp.exchange_id), 3)
self.expiration = tasmota.millis() + self.MSG_TIMEOUT # give more time
if msg
self.resp = msg.build_response(self.resp.opcode, self.resp.x_flag_r, self.resp) # update packet
@ -87,13 +86,12 @@ class Matter_IM_Message
# default responder for data
def send_im(responder)
import string
# tasmota.log(string.format("MTR: IM_Message send_im exch=%i ready=%i", self.resp.exchange_id, self.ready ? 1 : 0), 3)
# tasmota.log(format("MTR: IM_Message send_im exch=%i ready=%i", self.resp.exchange_id, self.ready ? 1 : 0), 3)
if !self.ready return false end
var resp = self.resp
resp.encode_frame(self.data.to_TLV().tlv2raw()) # payload in cleartext
resp.encrypt()
tasmota.log(string.format("MTR: <snd (%6i) id=%i exch=%i rack=%s", resp.session.local_session_id, resp.message_counter, resp.exchange_id, resp.ack_message_counter), 4)
tasmota.log(format("MTR: <snd (%6i) id=%i exch=%i rack=%s", resp.session.local_session_id, resp.message_counter, resp.exchange_id, resp.ack_message_counter), 4)
responder.send_response_frame(resp)
self.last_counter = resp.message_counter
self.finish = true # by default we remove the packet after it is sent
@ -164,8 +162,7 @@ class Matter_IM_ReportData : Matter_IM_Message
# default responder for data
def send_im(responder)
import string
# tasmota.log(string.format("MTR: IM_ReportData send_im exch=%i ready=%i", self.resp.exchange_id, self.ready ? 1 : 0), 3)
# tasmota.log(format("MTR: IM_ReportData send_im exch=%i ready=%i", self.resp.exchange_id, self.ready ? 1 : 0), 3)
if !self.ready return false end
var resp = self.resp # response frame object
var data = self.data # TLV data of the response (if any)
@ -174,7 +171,7 @@ class Matter_IM_ReportData : Matter_IM_Message
# the message were grouped by right-sized binaries upfront, we just need to send one block at time
var elements = 1 # number of elements added
# tasmota.log(string.format("MTR: exch=%i elements=%i msg_sz=%i total=%i", self.get_exchangeid(), elements, msg_sz, sz_attribute_reports), 3)
# tasmota.log(format("MTR: exch=%i elements=%i msg_sz=%i total=%i", self.get_exchangeid(), elements, msg_sz, sz_attribute_reports), 3)
var next_elemnts
if data.attribute_reports != nil
next_elemnts = data.attribute_reports[elements .. ]
@ -185,11 +182,11 @@ class Matter_IM_ReportData : Matter_IM_Message
end
if was_chunked
# tasmota.log(string.format("MTR: .Read_Attr next_chunk exch=%i", self.get_exchangeid()), 4)
# tasmota.log(format("MTR: .Read_Attr next_chunk exch=%i", self.get_exchangeid()), 4)
end
if data.more_chunked_messages
if !was_chunked
# tasmota.log(string.format("MTR: .Read_Attr first_chunk exch=%i", self.get_exchangeid()), 4)
# tasmota.log(format("MTR: .Read_Attr first_chunk exch=%i", self.get_exchangeid()), 4)
end
# tasmota.log("MTR: sending TLV" + str(data), 4)
end
@ -203,13 +200,13 @@ class Matter_IM_ReportData : Matter_IM_Message
# print(">>>>> send elements after encode")
resp.encrypt()
# print(">>>>> send elements after encrypt")
# tasmota.log(string.format("MTR: <snd (%6i) id=%i exch=%i rack=%s", resp.session.local_session_id, resp.message_counter, resp.exchange_id, resp.ack_message_counter), 4)
# tasmota.log(format("MTR: <snd (%6i) id=%i exch=%i rack=%s", resp.session.local_session_id, resp.message_counter, resp.exchange_id, resp.ack_message_counter), 4)
responder.send_response_frame(resp)
self.last_counter = resp.message_counter
if next_elemnts != nil && size(next_elemnts) > 0
data.attribute_reports = next_elemnts
# tasmota.log(string.format("MTR: to_be_sent_later size=%i exch=%i", size(data.attribute_reports), resp.exchange_id), 4)
# tasmota.log(format("MTR: to_be_sent_later size=%i exch=%i", size(data.attribute_reports), resp.exchange_id), 4)
self.ready = false # wait for Status Report before continuing sending
# keep alive
else
@ -246,8 +243,7 @@ class Matter_IM_ReportDataSubscribed : Matter_IM_ReportData
# ack received, confirm the heartbeat
def ack_received(msg)
# import string
# tasmota.log(string.format("MTR: IM_ReportDataSubscribed ack_received sub=%i", self.sub.subscription_id), 3)
# tasmota.log(format("MTR: IM_ReportDataSubscribed ack_received sub=%i", self.sub.subscription_id), 3)
super(self).ack_received(msg)
if !self.report_data_phase
# if ack is received while all data is sent, means that it finished without error
@ -262,16 +258,14 @@ class Matter_IM_ReportDataSubscribed : Matter_IM_ReportData
# we received an ACK error, remove subscription
def status_error_received(msg)
# import string
# tasmota.log(string.format("MTR: IM_ReportDataSubscribed status_error_received sub=%i exch=%i", self.sub.subscription_id, self.resp.exchange_id), 3)
# tasmota.log(format("MTR: IM_ReportDataSubscribed status_error_received sub=%i exch=%i", self.sub.subscription_id, self.resp.exchange_id), 3)
self.sub.remove_self()
end
# ack received for previous message, proceed to next (if any)
# return true if we manage the ack ourselves, false if it needs to be done upper
def status_ok_received(msg)
# import string
# tasmota.log(string.format("MTR: IM_ReportDataSubscribed status_ok_received sub=%i exch=%i", self.sub.subscription_id, self.resp.exchange_id), 3)
# tasmota.log(format("MTR: IM_ReportDataSubscribed status_ok_received sub=%i exch=%i", self.sub.subscription_id, self.resp.exchange_id), 3)
if self.report_data_phase
return super(self).status_ok_received(msg)
else
@ -284,14 +278,13 @@ class Matter_IM_ReportDataSubscribed : Matter_IM_ReportData
# returns true if transaction is complete (remove object from queue)
# default responder for data
def send_im(responder)
import string
# tasmota.log(string.format("MTR: IM_ReportDataSubscribed send sub=%i exch=%i ready=%i", self.sub.subscription_id, self.resp.exchange_id, self.ready ? 1 : 0), 3)
# tasmota.log(string.format("MTR: ReportDataSubscribed::send_im size(self.data.attribute_reports)=%i ready=%s report_data_phase=%s", size(self.data.attribute_reports), str(self.ready), str(self.report_data_phase)), 3)
# tasmota.log(format("MTR: IM_ReportDataSubscribed send sub=%i exch=%i ready=%i", self.sub.subscription_id, self.resp.exchange_id, self.ready ? 1 : 0), 3)
# tasmota.log(format("MTR: ReportDataSubscribed::send_im size(self.data.attribute_reports)=%i ready=%s report_data_phase=%s", size(self.data.attribute_reports), str(self.ready), str(self.report_data_phase)), 3)
if !self.ready return false end
if size(self.data.attribute_reports) > 0 # do we have still attributes to send
if self.report_data_phase
super(self).send_im(responder)
# tasmota.log(string.format("MTR: ReportDataSubscribed::send_im called super finish=%i", self.finish), 3)
# tasmota.log(format("MTR: ReportDataSubscribed::send_im called super finish=%i", self.finish), 3)
if !self.finish return end # ReportData needs to continue
# ReportData is finished
self.report_data_phase = false
@ -302,7 +295,7 @@ class Matter_IM_ReportDataSubscribed : Matter_IM_ReportData
var resp = self.resp.build_standalone_ack(false)
resp.encode_frame()
resp.encrypt()
tasmota.log(string.format("MTR: <Ack (%6i) ack=%i id=%i", resp.session.local_session_id, resp.ack_message_counter, resp.message_counter), 4)
tasmota.log(format("MTR: <Ack (%6i) ack=%i id=%i", resp.session.local_session_id, resp.ack_message_counter, resp.message_counter), 4)
responder.send_response_frame(resp)
self.last_counter = resp.message_counter
self.finish = true
@ -346,8 +339,7 @@ class Matter_IM_SubscribedHeartbeat : Matter_IM_ReportData
# ack received, confirm the heartbeat
def ack_received(msg)
# import string
# tasmota.log(string.format("MTR: Matter_IM_SubscribedHeartbeat ack_received sub=%i", self.sub.subscription_id), 3)
# tasmota.log(format("MTR: Matter_IM_SubscribedHeartbeat ack_received sub=%i", self.sub.subscription_id), 3)
super(self).ack_received(msg)
self.finish = true
return true # proceed to calling send() which removes the message
@ -355,8 +347,7 @@ class Matter_IM_SubscribedHeartbeat : Matter_IM_ReportData
# we received an ACK error, remove subscription
def status_error_received(msg)
# import string
# tasmota.log(string.format("MTR: Matter_IM_SubscribedHeartbeat status_error_received sub=%i exch=%i", self.sub.subscription_id, self.resp.exchange_id), 3)
# tasmota.log(format("MTR: Matter_IM_SubscribedHeartbeat status_error_received sub=%i exch=%i", self.sub.subscription_id, self.resp.exchange_id), 3)
self.sub.remove_self()
return false # let the caller to the ack
end
@ -364,15 +355,13 @@ class Matter_IM_SubscribedHeartbeat : Matter_IM_ReportData
# ack received for previous message, proceed to next (if any)
# return true if we manage the ack ourselves, false if it needs to be done upper
def status_ok_received(msg)
# import string
# tasmota.log(string.format("MTR: Matter_IM_SubscribedHeartbeat status_ok_received sub=%i exch=%i", self.sub.subscription_id, self.resp.exchange_id), 3)
# tasmota.log(format("MTR: Matter_IM_SubscribedHeartbeat status_ok_received sub=%i exch=%i", self.sub.subscription_id, self.resp.exchange_id), 3)
return false # let the caller to the ack
end
# default responder for data
def send_im(responder)
# import string
# tasmota.log(string.format("MTR: Matter_IM_SubscribedHeartbeat send sub=%i exch=%i ready=%i", self.sub.subscription_id, self.resp.exchange_id, self.ready ? 1 : 0), 3)
# tasmota.log(format("MTR: Matter_IM_SubscribedHeartbeat send sub=%i exch=%i ready=%i", self.sub.subscription_id, self.resp.exchange_id, self.ready ? 1 : 0), 3)
if !self.ready return false end
super(self).send_im(responder)
@ -398,8 +387,7 @@ class Matter_IM_SubscribeResponse : Matter_IM_ReportData
# default responder for data
def send_im(responder)
# import string
# tasmota.log(string.format("MTR: Matter_IM_SubscribeResponse send sub=%i ready=%i", self.sub.subscription_id, self.ready ? 1 : 0), 3)
# tasmota.log(format("MTR: Matter_IM_SubscribeResponse send sub=%i ready=%i", self.sub.subscription_id, self.ready ? 1 : 0), 3)
if !self.ready return false end
if self.report_data_phase
super(self).send_im(responder)
@ -422,7 +410,7 @@ class Matter_IM_SubscribeResponse : Matter_IM_ReportData
resp.encrypt()
responder.send_response_frame(resp)
self.last_counter = resp.message_counter
# tasmota.log(string.format("MTR: Send SubscribeResponseMessage sub=%i id=%i", self.sub.subscription_id, resp.message_counter), 3)
# tasmota.log(format("MTR: Send SubscribeResponseMessage sub=%i id=%i", self.sub.subscription_id, resp.message_counter), 3)
self.sub.re_arm()
self.finish = true # remove exchange
end
@ -430,10 +418,9 @@ class Matter_IM_SubscribeResponse : Matter_IM_ReportData
# Status ok received
def status_ok_received(msg)
import string
# tasmota.log(string.format("MTR: IM_SubscribeResponse status_ok_received sub=%i exch=%i ack=%i last_counter=%i", self.sub.subscription_id, self.resp.exchange_id, msg.ack_message_counter ? msg.ack_message_counter : 0 , self.last_counter), 3)
# tasmota.log(format("MTR: IM_SubscribeResponse status_ok_received sub=%i exch=%i ack=%i last_counter=%i", self.sub.subscription_id, self.resp.exchange_id, msg.ack_message_counter ? msg.ack_message_counter : 0 , self.last_counter), 3)
# once we receive ack, open flow for subscriptions
tasmota.log(string.format("MTR: >Sub_OK (%6i) sub=%i", msg.session.local_session_id, self.sub.subscription_id), 3)
tasmota.log(format("MTR: >Sub_OK (%6i) sub=%i", msg.session.local_session_id, self.sub.subscription_id), 3)
return super(self).status_ok_received(msg)
end

View File

@ -98,13 +98,12 @@ class Matter_IM_Subscription
# we received a complete ack for previous message, rearm
def re_arm()
import string
self.wait_status = false
var now = tasmota.millis()
self.expiration = now + (self.max_interval - self.MAX_INTERVAL_MARGIN) * 1000
self.not_before = now + self.min_interval * 1000 - 1
if !self.is_keep_alive
tasmota.log(string.format("MTR: .Sub_Done ( ) sub=%i", self.subscription_id), 3)
tasmota.log(format("MTR: .Sub_Done ( ) sub=%i", self.subscription_id), 3)
end
end

View File

@ -229,7 +229,6 @@ class Matter_Frame
# Generate a Standalone Acknowledgment
# Uses `PROTOCOL_ID_SECURE_CHANNEL` no ecnryption required
def build_standalone_ack(reliable)
import string
# send back response
var resp = classof(self)(self.message_handler)
@ -263,7 +262,6 @@ class Matter_Frame
#
# if 'resp' is not nil, update frame
def build_response(opcode, reliable, resp)
import string
# send back response
if resp == nil
resp = classof(self)(self.message_handler)
@ -301,8 +299,8 @@ class Matter_Frame
if resp.local_session_id == 0
var op_name = matter.get_opcode_name(resp.opcode)
if !op_name op_name = string.format("0x%02X", resp.opcode) end
tasmota.log(string.format("MTR: <Replied (%6i) %s", resp.session.local_session_id, op_name), 3)
if !op_name op_name = format("0x%02X", resp.opcode) end
tasmota.log(format("MTR: <Replied (%6i) %s", resp.session.local_session_id, op_name), 3)
end
return resp
end
@ -312,7 +310,6 @@ class Matter_Frame
#
# if 'resp' is not nil, update frame
static def initiate_response(message_handler, session, opcode, reliable, resp)
import string
# send back response
if resp == nil
resp = matter.Frame(message_handler)

View File

@ -44,11 +44,10 @@ class Matter_MessageHandler
# reliable: do we send as reliable message
#
def send_simple_ack(frame, reliable)
import string
if frame.x_flag_r # nothing to respond, check if we need a standalone ack
var resp = frame.build_standalone_ack(reliable)
resp.encode_frame()
tasmota.log(string.format("MTR: <Ack (%6i) ack=%i id=%i %s", resp.session.local_session_id, resp.ack_message_counter, resp.message_counter, reliable ? '{reliable}' : ''), 4)
tasmota.log(format("MTR: <Ack (%6i) ack=%i id=%i %s", resp.session.local_session_id, resp.ack_message_counter, resp.message_counter, reliable ? '{reliable}' : ''), 4)
self.send_response_frame(resp)
end
end
@ -59,12 +58,11 @@ class Matter_MessageHandler
# reliable: do we send as reliable message
#
def send_encrypted_ack(frame, reliable)
import string
if frame.x_flag_r # nothing to respond, check if we need a standalone ack
var resp = frame.build_standalone_ack(reliable)
resp.encode_frame()
resp.encrypt()
tasmota.log(string.format("MTR: <Ack* (%6i) ack=%i id=%i %s", resp.session.local_session_id, resp.ack_message_counter, resp.message_counter, reliable ? '{reliable}' : ''), 4)
tasmota.log(format("MTR: <Ack* (%6i) ack=%i id=%i %s", resp.session.local_session_id, resp.ack_message_counter, resp.message_counter, reliable ? '{reliable}' : ''), 4)
self.send_response_frame(resp)
end
end
@ -76,7 +74,6 @@ class Matter_MessageHandler
# and dispacth to appropriate handler
#
def msg_received(raw, addr, port)
import string
var ret = false
try
@ -105,7 +102,7 @@ class Matter_MessageHandler
# check if it's a duplicate
if !session._counter_insecure_rcv.validate(frame.message_counter, false)
tasmota.log(string.format("MTR: . Duplicate unencrypted message = %i ref = %i", frame.message_counter, session._counter_insecure_rcv.val()), 4)
tasmota.log(format("MTR: . Duplicate unencrypted message = %i ref = %i", frame.message_counter, session._counter_insecure_rcv.val()), 4)
self.send_simple_ack(frame, false #-not reliable-#)
return false
end
@ -114,10 +111,10 @@ class Matter_MessageHandler
self.device.received_ack(frame) # remove acknowledge packet from sending list
if frame.opcode != 0x10 # don't show `MRP_Standalone_Acknowledgement`
var op_name = matter.get_opcode_name(frame.opcode)
if !op_name op_name = string.format("0x%02X", frame.opcode) end
tasmota.log(string.format("MTR: >Received (%6i) %s rid=%i exch=%i from [%s]:%i", session.local_session_id, op_name, frame.message_counter, frame.exchange_id, addr, port), 3)
if !op_name op_name = format("0x%02X", frame.opcode) end
tasmota.log(format("MTR: >Received (%6i) %s rid=%i exch=%i from [%s]:%i", session.local_session_id, op_name, frame.message_counter, frame.exchange_id, addr, port), 3)
else
tasmota.log(string.format("MTR: >rcv Ack (%6i) rid=%i exch=%i ack=%s %sfrom [%s]:%i", session.local_session_id, frame.message_counter, frame.x_flag_r ? "{reliable} " : "", frame.exchange_id, str(frame.ack_message_counter), addr, port), 4)
tasmota.log(format("MTR: >rcv Ack (%6i) rid=%i exch=%i ack=%s %sfrom [%s]:%i", session.local_session_id, frame.message_counter, frame.x_flag_r ? "{reliable} " : "", frame.exchange_id, str(frame.ack_message_counter), addr, port), 4)
end
ret = self.commissioning.process_incoming(frame)
# if ret is false, the implicit Ack was not sent
@ -126,7 +123,7 @@ class Matter_MessageHandler
else
#############################################################
# encrypted message
tasmota.log(string.format("MTR: decode header: local_session_id=%i message_counter=%i", frame.local_session_id, frame.message_counter), 4)
tasmota.log(format("MTR: decode header: local_session_id=%i message_counter=%i", frame.local_session_id, frame.message_counter), 4)
var session = self.device.sessions.get_session_by_local_session_id(frame.local_session_id)
if session == nil
@ -154,11 +151,11 @@ class Matter_MessageHandler
frame.raw .. cleartext # add cleartext
# continue decoding
# tasmota.log(string.format("MTR: idx=%i clear=%s", frame.payload_idx, frame.raw.tohex()), 4)
# tasmota.log(format("MTR: idx=%i clear=%s", frame.payload_idx, frame.raw.tohex()), 4)
frame.decode_payload()
tasmota.log("MTR: > Decrypted message: protocol_id:"+str(frame.protocol_id)+" opcode="+str(frame.opcode)+" exchange_id="+str(frame.exchange_id & 0xFFFF), 4)
# tasmota.log(string.format("MTR: >rcv (%6i) [%02X/%02X] rid=%i exch=%i ack=%s %sfrom [%s]:%i", session.local_session_id, frame.protocol_id, frame.opcode, frame.message_counter, frame.exchange_id, str(frame.ack_message_counter), frame.x_flag_r ? "{reliable} " : "", addr, port), 3)
# tasmota.log(format("MTR: >rcv (%6i) [%02X/%02X] rid=%i exch=%i ack=%s %sfrom [%s]:%i", session.local_session_id, frame.protocol_id, frame.opcode, frame.message_counter, frame.exchange_id, str(frame.ack_message_counter), frame.x_flag_r ? "{reliable} " : "", addr, port), 3)
self.device.received_ack(frame) # remove acknowledge packet from sending list

View File

@ -36,12 +36,11 @@ class Matter_Path
def tostring()
try
import string
var s = ""
s += (self.endpoint != nil ? string.format("[%02X]", self.endpoint) : "[**]")
s += (self.cluster != nil ? string.format("%04X/", self.cluster) : "****/")
s += (self.attribute != nil ? string.format("%04X", self.attribute) : "")
s += (self.command != nil ? string.format("%04X", self.command) : "")
s += (self.endpoint != nil ? format("[%02X]", self.endpoint) : "[**]")
s += (self.cluster != nil ? format("%04X/", self.cluster) : "****/")
s += (self.attribute != nil ? format("%04X", self.attribute) : "")
s += (self.command != nil ? format("%04X", self.command) : "")
if self.attribute == nil && self.command == nil s += "****" end
return s
except .. as e, m

View File

@ -38,7 +38,6 @@ class Matter_Plugin_Aggregator : Matter_Plugin
# read an attribute
#
def read_attribute(session, ctx)
import string
var TLV = matter.TLV
var cluster = ctx.cluster
var attribute = ctx.attribute

View File

@ -53,7 +53,6 @@ class Matter_Plugin_Bridge_HTTP : Matter_Plugin_Device
#############################################################
# Constructor
def init(device, endpoint, arguments)
import string
super(self).init(device, endpoint, arguments)
var addr = arguments.find(self.ARG_HTTP)
@ -107,7 +106,6 @@ class Matter_Plugin_Bridge_HTTP : Matter_Plugin_Device
# arg can be nil, in this case `cmd` has it all
def call_remote_sync(cmd, arg)
# if !self.http_remote return nil end
import string
import json
var retry = 2 # try 2 times if first failed
@ -213,7 +211,6 @@ class Matter_Plugin_Bridge_HTTP : Matter_Plugin_Device
static var PREFIX = "| <i>%s</i> "
def web_values()
import webserver
import string
self.web_values_prefix()
webserver.content_send("&lt;-- (" + self.NAME + ") --&gt;")
end
@ -221,9 +218,8 @@ class Matter_Plugin_Bridge_HTTP : Matter_Plugin_Device
# Show prefix before web value
def web_values_prefix()
import webserver
import string
var name = self.get_name()
webserver.content_send(string.format(self.PREFIX, name ? webserver.html_escape(name) : ""))
webserver.content_send(format(self.PREFIX, name ? webserver.html_escape(name) : ""))
end
# Show on/off value as html

View File

@ -90,7 +90,6 @@ class Matter_Plugin_Bridge_Light0 : Matter_Plugin_Bridge_HTTP
# read an attribute
#
def read_attribute(session, ctx)
import string
var TLV = matter.TLV
var cluster = ctx.cluster
var attribute = ctx.attribute
@ -144,20 +143,18 @@ class Matter_Plugin_Bridge_Light0 : Matter_Plugin_Bridge_HTTP
# Show values of the remote device as HTML
def web_values()
import webserver
import string
self.web_values_prefix() # display '| ' and name if present
webserver.content_send(string.format("%s", self.web_value_onoff(self.shadow_onoff)))
webserver.content_send(format("%s", self.web_value_onoff(self.shadow_onoff)))
end
# Show prefix before web value
def web_values_prefix()
import webserver
import string
var name = self.get_name()
if !name
name = "Power" + str(self.tasmota_relay_index)
end
webserver.content_send(string.format(self.PREFIX, name ? webserver.html_escape(name) : ""))
webserver.content_send(format(self.PREFIX, name ? webserver.html_escape(name) : ""))
end
end

View File

@ -79,7 +79,6 @@ class Matter_Plugin_Bridge_Light1 : Matter_Plugin_Bridge_Light0
# read an attribute
#
def read_attribute(session, ctx)
import string
var TLV = matter.TLV
var cluster = ctx.cluster
var attribute = ctx.attribute
@ -172,18 +171,16 @@ class Matter_Plugin_Bridge_Light1 : Matter_Plugin_Bridge_Light0
# Show values of the remote device as HTML
def web_values()
import webserver
import string
self.web_values_prefix() # display '| ' and name if present
webserver.content_send(string.format("%s %s", self.web_value_onoff(self.shadow_onoff), self.web_value_dimmer()))
webserver.content_send(format("%s %s", self.web_value_onoff(self.shadow_onoff), self.web_value_dimmer()))
end
# Show on/off value as html
def web_value_dimmer()
import string
var bri_html = ""
if self.shadow_bri != nil
var bri = tasmota.scale_uint(self.shadow_bri, 0, 254, 0, 100)
bri_html = string.format("%i%%", bri)
bri_html = format("%i%%", bri)
end
return "&#128261; " + bri_html;
end

View File

@ -96,7 +96,6 @@ class Matter_Plugin_Bridge_Light2 : Matter_Plugin_Bridge_Light1
# read an attribute
#
def read_attribute(session, ctx)
import string
var TLV = matter.TLV
var cluster = ctx.cluster
var attribute = ctx.attribute
@ -174,20 +173,18 @@ class Matter_Plugin_Bridge_Light2 : Matter_Plugin_Bridge_Light1
# Show values of the remote device as HTML
def web_values()
import webserver
import string
self.web_values_prefix() # display '| ' and name if present
webserver.content_send(string.format("%s %s %s",
webserver.content_send(format("%s %s %s",
self.web_value_onoff(self.shadow_onoff), self.web_value_dimmer(),
self.web_value_ct()))
end
# Show on/off value as html
def web_value_ct()
import string
var ct_html = ""
if self.shadow_ct != nil
var ct_k = (((1000000 / self.shadow_ct) + 25) / 50) * 50 # convert in Kelvin
ct_html = string.format("%iK", ct_k)
ct_html = format("%iK", ct_k)
end
return "&#9898; " + ct_html;
end

View File

@ -96,7 +96,6 @@ class Matter_Plugin_Bridge_Light3 : Matter_Plugin_Bridge_Light1
# read an attribute
#
def read_attribute(session, ctx)
import string
var TLV = matter.TLV
var cluster = ctx.cluster
var attribute = ctx.attribute
@ -200,22 +199,20 @@ class Matter_Plugin_Bridge_Light3 : Matter_Plugin_Bridge_Light1
# Show values of the remote device as HTML
def web_values()
import webserver
import string
self.web_values_prefix() # display '| ' and name if present
webserver.content_send(string.format("%s %s %s",
webserver.content_send(format("%s %s %s",
self.web_value_onoff(self.shadow_onoff), self.web_value_dimmer(),
self.web_value_RGB()))
end
# Show on/off value as html
def web_value_RGB()
import string
if self.shadow_hue != nil && self.shadow_sat != nil
var l = light_state(3) # RGB virtual light state object
l.set_bri(255) # set full brightness to get full range RGB
l.set_huesat(tasmota.scale_uint(self.shadow_hue, 0, 254, 0, 360), tasmota.scale_uint(self.shadow_sat, 0, 254, 0, 255))
var rgb_hex = string.format("#%02X%02X%02X", l.r, l.g, l.b)
var rgb_html = string.format('<i class="bxm" style="--cl:%s"></i>%s', rgb_hex, rgb_hex)
var rgb_hex = format("#%02X%02X%02X", l.r, l.g, l.b)
var rgb_html = format('<i class="bxm" style="--cl:%s"></i>%s', rgb_hex, rgb_hex)
return rgb_html
end
return ""

View File

@ -38,9 +38,8 @@ class Matter_Plugin_Bridge_OnOff : Matter_Plugin_Bridge_Light0
# Show values of the remote device as HTML
def web_values()
import webserver
import string
self.web_values_prefix() # display '| ' and name if present
webserver.content_send(string.format("Relay %i %s", self.tasmota_relay_index, self.web_value_onoff(self.shadow_onoff)))
webserver.content_send(format("Relay %i %s", self.tasmota_relay_index, self.web_value_onoff(self.shadow_onoff)))
end
end

View File

@ -101,10 +101,9 @@ class Matter_Plugin_Bridge_Sensor : Matter_Plugin_Bridge_HTTP
# Show prefix before web value
def web_values_prefix()
import webserver
import string
var name = self.get_name()
if (!name) name = self.filter_name_html() end
webserver.content_send(string.format(self.PREFIX, name ? webserver.html_escape(name) : ""))
webserver.content_send(format(self.PREFIX, name ? webserver.html_escape(name) : ""))
end
end

View File

@ -72,7 +72,6 @@ class Matter_Plugin_Bridge_Sensor_Contact : Matter_Plugin_Bridge_HTTP
# read an attribute
#
def read_attribute(session, ctx)
import string
var TLV = matter.TLV
var cluster = ctx.cluster
var attribute = ctx.attribute
@ -102,20 +101,18 @@ class Matter_Plugin_Bridge_Sensor_Contact : Matter_Plugin_Bridge_HTTP
# Show values of the remote device as HTML
def web_values()
import webserver
import string
self.web_values_prefix() # display '| ' and name if present
webserver.content_send(string.format("Contact%i %s", self.tasmota_switch_index, self.web_value_onoff(self.shadow_contact)))
webserver.content_send(format("Contact%i %s", self.tasmota_switch_index, self.web_value_onoff(self.shadow_contact)))
end
# Show prefix before web value
def web_values_prefix()
import webserver
import string
var name = self.get_name()
if !name
name = "Switch" + str(self.tasmota_switch_index)
end
webserver.content_send(string.format(self.PREFIX, name ? webserver.html_escape(name) : ""))
webserver.content_send(format(self.PREFIX, name ? webserver.html_escape(name) : ""))
end
end
matter.Plugin_Bridge_Sensor_Contact = Matter_Plugin_Bridge_Sensor_Contact

View File

@ -57,7 +57,6 @@ class Matter_Plugin_Bridge_Sensor_Humidity : Matter_Plugin_Bridge_Sensor
# read an attribute
#
def read_attribute(session, ctx)
import string
var TLV = matter.TLV
var cluster = ctx.cluster
var attribute = ctx.attribute
@ -91,9 +90,8 @@ class Matter_Plugin_Bridge_Sensor_Humidity : Matter_Plugin_Bridge_Sensor
# Show values of the remote device as HTML
def web_values()
import webserver
import string
self.web_values_prefix() # display '| ' and name if present
webserver.content_send(string.format("&#x1F4A7; %2.0f%%",
webserver.content_send(format("&#x1F4A7; %2.0f%%",
self.shadow_value != nil ? real(self.shadow_value) / 100 : nil))
end

View File

@ -64,7 +64,6 @@ class Matter_Plugin_Bridge_Sensor_Illuminance : Matter_Plugin_Bridge_Sensor
# read an attribute
#
def read_attribute(session, ctx)
import string
var TLV = matter.TLV
var cluster = ctx.cluster
var attribute = ctx.attribute
@ -98,9 +97,8 @@ class Matter_Plugin_Bridge_Sensor_Illuminance : Matter_Plugin_Bridge_Sensor
# Show values of the remote device as HTML
def web_values()
import webserver
import string
self.web_values_prefix() # display '| ' and name if present
webserver.content_send(string.format("&#128261; %ilux",
webserver.content_send(format("&#128261; %ilux",
int(self.shadow_value)))
end

View File

@ -72,7 +72,6 @@ class Matter_Plugin_Bridge_Sensor_Occupancy : Matter_Plugin_Bridge_HTTP
# read an attribute
#
def read_attribute(session, ctx)
import string
var TLV = matter.TLV
var cluster = ctx.cluster
var attribute = ctx.attribute
@ -106,20 +105,18 @@ class Matter_Plugin_Bridge_Sensor_Occupancy : Matter_Plugin_Bridge_HTTP
# Show values of the remote device as HTML
def web_values()
import webserver
import string
self.web_values_prefix() # display '| ' and name if present
webserver.content_send(string.format("Occupancy%i %s", self.tasmota_switch_index, self.web_value_onoff(self.shadow_occupancy)))
webserver.content_send(format("Occupancy%i %s", self.tasmota_switch_index, self.web_value_onoff(self.shadow_occupancy)))
end
# Show prefix before web value
def web_values_prefix()
import webserver
import string
var name = self.get_name()
if !name
name = "Switch" + str(self.tasmota_switch_index)
end
webserver.content_send(string.format(self.PREFIX, name ? webserver.html_escape(name) : ""))
webserver.content_send(format(self.PREFIX, name ? webserver.html_escape(name) : ""))
end
end
matter.Plugin_Bridge_Sensor_Occupancy = Matter_Plugin_Bridge_Sensor_Occupancy

View File

@ -57,7 +57,6 @@ class Matter_Plugin_Bridge_Sensor_Pressure : Matter_Plugin_Bridge_Sensor
# read an attribute
#
def read_attribute(session, ctx)
import string
var TLV = matter.TLV
var cluster = ctx.cluster
var attribute = ctx.attribute
@ -91,9 +90,8 @@ class Matter_Plugin_Bridge_Sensor_Pressure : Matter_Plugin_Bridge_Sensor
# Show values of the remote device as HTML
def web_values()
import webserver
import string
self.web_values_prefix() # display '| ' and name if present
webserver.content_send(string.format("&#x26C5; %i hPa",
webserver.content_send(format("&#x26C5; %i hPa",
int(self.shadow_value)))
end

View File

@ -57,7 +57,6 @@ class Matter_Plugin_Bridge_Sensor_Temp : Matter_Plugin_Bridge_Sensor
# read an attribute
#
def read_attribute(session, ctx)
import string
var TLV = matter.TLV
var cluster = ctx.cluster
var attribute = ctx.attribute
@ -91,9 +90,8 @@ class Matter_Plugin_Bridge_Sensor_Temp : Matter_Plugin_Bridge_Sensor
# Show values of the remote device as HTML
def web_values()
import webserver
import string
self.web_values_prefix() # display '| ' and name if present
webserver.content_send(string.format("&#x2600;&#xFE0F; %.1f °C",
webserver.content_send(format("&#x2600;&#xFE0F; %.1f °C",
self.shadow_value != nil ? real(self.shadow_value) / 100 : nil))
end

View File

@ -56,7 +56,6 @@ class Matter_Plugin_Device : Matter_Plugin
# read an attribute
#
def read_attribute(session, ctx)
import string
var TLV = matter.TLV
var cluster = ctx.cluster
var attribute = ctx.attribute

View File

@ -65,7 +65,6 @@ class Matter_Plugin_Light0 : Matter_Plugin_Device
# read an attribute
#
def read_attribute(session, ctx)
import string
var TLV = matter.TLV
var cluster = ctx.cluster
var attribute = ctx.attribute

View File

@ -72,7 +72,6 @@ class Matter_Plugin_Light1 : Matter_Plugin_Light0
# read an attribute
#
def read_attribute(session, ctx)
import string
var TLV = matter.TLV
var cluster = ctx.cluster
var attribute = ctx.attribute

View File

@ -79,7 +79,6 @@ class Matter_Plugin_Light2 : Matter_Plugin_Light1
# read an attribute
#
def read_attribute(session, ctx)
import string
var TLV = matter.TLV
var cluster = ctx.cluster
var attribute = ctx.attribute

View File

@ -71,7 +71,6 @@ class Matter_Plugin_Light3 : Matter_Plugin_Light1
# read an attribute
#
def read_attribute(session, ctx)
import string
var TLV = matter.TLV
var cluster = ctx.cluster
var attribute = ctx.attribute

View File

@ -87,7 +87,6 @@ class Matter_Plugin_OnOff : Matter_Plugin_Device
# read an attribute
#
def read_attribute(session, ctx)
import string
var TLV = matter.TLV
var cluster = ctx.cluster
var attribute = ctx.attribute

View File

@ -326,7 +326,6 @@ class Matter_Plugin_Root : Matter_Plugin
# or an `int` to indicate a status
def invoke_request(session, val, ctx)
import crypto
import string
var TLV = matter.TLV
var cluster = ctx.cluster
var command = ctx.command
@ -433,7 +432,7 @@ class Matter_Plugin_Root : Matter_Plugin
var CSRNonce = val.findsubval(0) # octstr 32
if size(CSRNonce) != 32 return nil end # check size on nonce
var IsForUpdateNOC = val.findsubval(1, false) # bool
# tasmota.log(string.format("MTR: CSRRequest CSRNonce=%s IsForUpdateNOC=%s", str(CSRNonce), str(IsForUpdateNOC)), 4)
# tasmota.log(format("MTR: CSRRequest CSRNonce=%s IsForUpdateNOC=%s", str(CSRNonce), str(IsForUpdateNOC)), 4)
var csr = session.gen_CSR()
@ -550,7 +549,7 @@ class Matter_Plugin_Root : Matter_Plugin
elif command == 0x0009 # ---------- UpdateFabricLabel ----------
var label = val.findsubval(0) # Label string max 32
session.set_fabric_label(label)
tasmota.log(string.format("MTR: . Update fabric '%s' label='%s'", session._fabric.get_fabric_id().copy().reverse().tohex(), str(label)), 3)
tasmota.log(format("MTR: . Update fabric '%s' label='%s'", session._fabric.get_fabric_id().copy().reverse().tohex(), str(label)), 3)
ctx.status = matter.SUCCESS # OK
return nil # trigger a standalone ack
@ -582,7 +581,7 @@ class Matter_Plugin_Root : Matter_Plugin
var iterations = val.findsubval(3) # Iterations u4
var salt = val.findsubval(4) # Salt octstr
tasmota.log(string.format("MTR: OpenCommissioningWindow(timeout=%i, passcode=%s, discriminator=%i, iterations=%i, salt=%s)",
tasmota.log(format("MTR: OpenCommissioningWindow(timeout=%i, passcode=%s, discriminator=%i, iterations=%i, salt=%s)",
timeout, passcode_verifier.tohex(), discriminator, iterations, salt.tohex()), 4)
# check values
@ -630,7 +629,6 @@ class Matter_Plugin_Root : Matter_Plugin
# write an attribute
#
def write_attribute(session, ctx, write_data)
import string
var TLV = matter.TLV
var cluster = ctx.cluster
var attribute = ctx.attribute

View File

@ -76,7 +76,6 @@ class Matter_Plugin_Sensor_Contact : Matter_Plugin_Device
# read an attribute
#
def read_attribute(session, ctx)
import string
var TLV = matter.TLV
var cluster = ctx.cluster
var attribute = ctx.attribute

View File

@ -56,7 +56,6 @@ class Matter_Plugin_Sensor_Humidity : Matter_Plugin_Sensor
# read an attribute
#
def read_attribute(session, ctx)
import string
var TLV = matter.TLV
var cluster = ctx.cluster
var attribute = ctx.attribute

View File

@ -63,7 +63,6 @@ class Matter_Plugin_Sensor_Illuminance : Matter_Plugin_Sensor
# read an attribute
#
def read_attribute(session, ctx)
import string
var TLV = matter.TLV
var cluster = ctx.cluster
var attribute = ctx.attribute

View File

@ -73,7 +73,6 @@ class Matter_Plugin_Sensor_Occupancy : Matter_Plugin_Device
# read an attribute
#
def read_attribute(session, ctx)
import string
var TLV = matter.TLV
var cluster = ctx.cluster
var attribute = ctx.attribute

View File

@ -71,7 +71,6 @@ class Matter_Plugin_Sensor_OnOff : Matter_Plugin_Device
# read an attribute
#
def read_attribute(session, ctx)
import string
var TLV = matter.TLV
var cluster = ctx.cluster
var attribute = ctx.attribute

View File

@ -56,7 +56,6 @@ class Matter_Plugin_Sensor_Pressure : Matter_Plugin_Sensor
# read an attribute
#
def read_attribute(session, ctx)
import string
var TLV = matter.TLV
var cluster = ctx.cluster
var attribute = ctx.attribute

View File

@ -56,7 +56,6 @@ class Matter_Plugin_Sensor_Temp : Matter_Plugin_Sensor
# read an attribute
#
def read_attribute(session, ctx)
import string
var TLV = matter.TLV
var cluster = ctx.cluster
var attribute = ctx.attribute

View File

@ -94,7 +94,6 @@ class Matter_Plugin_Shutter : Matter_Plugin_Device
# read an attribute
#
def read_attribute(session, ctx)
import string
var TLV = matter.TLV
var cluster = ctx.cluster
var attribute = ctx.attribute
@ -197,11 +196,10 @@ class Matter_Plugin_Shutter : Matter_Plugin_Device
# parse the output from `ShutterPosition`
# Ex: `{"Shutter1":{"Position":50,"Direction":0,"Target":50,"Tilt":30}}`
def parse_sensors(payload)
import string
var k = "Shutter" + str(self.tasmota_shutter_index + 1)
if payload.contains(k)
var v = payload[k]
# tasmota.log(string.format("MTR: getting shutter values(%i): %s", self.endpoint, str(v)), 2)
# tasmota.log(format("MTR: getting shutter values(%i): %s", self.endpoint, str(v)), 2)
# Position
var val_pos = v.find("Position")
if val_pos != nil

View File

@ -60,7 +60,6 @@ class Matter_Plugin_ShutterTilt : Matter_Plugin_Shutter
# parse the output from `ShutterPosition`
# Ex: `{"Shutter1":{"Position":50,"Direction":0,"Target":50,"Tilt":30}}`
def parse_sensors(payload)
import string
var k = "Shutter" + str(self.tasmota_shutter_index + 1)
if payload.contains(k)
var v = payload[k]
@ -98,7 +97,6 @@ class Matter_Plugin_ShutterTilt : Matter_Plugin_Shutter
# read an attribute
#
def read_attribute(session, ctx)
import string
var TLV = matter.TLV
var cluster = ctx.cluster
var attribute = ctx.attribute

View File

@ -118,8 +118,7 @@ class Matter_Session : Matter_Expirable
#############################################################
# Called before removal
def before_remove()
import string
tasmota.log(string.format("MTR: -Session (%6i) (removed)", self.local_session_id), 3)
tasmota.log(format("MTR: -Session (%6i) (removed)", self.local_session_id), 3)
end
#############################################################
@ -128,9 +127,8 @@ class Matter_Session : Matter_Expirable
# Provide the next counter value, and update the last know persisted if needed
#
def counter_snd_next()
import string
var next = self._counter_snd_impl.next()
# tasmota.log(string.format("MTR: . Counter_snd=%i", next), 4)
# tasmota.log(format("MTR: . Counter_snd=%i", next), 4)
if matter.Counter.is_greater(next, self.counter_snd)
self.counter_snd = next + self._COUNTER_SND_INCR
if self.does_persist()
@ -294,7 +292,6 @@ class Matter_Session : Matter_Expirable
#############################################################
def tojson()
import json
import string
import introspect
self.persist_pre()
@ -314,7 +311,7 @@ class Matter_Session : Matter_Expirable
elif type(v) == 'instance' continue # skip any other instance
end
r.push(string.format("%s:%s", json.dump(str(k)), json.dump(v)))
r.push(format("%s:%s", json.dump(str(k)), json.dump(v)))
end
self.persist_post()
return "{" + r.concat(",") + "}"

View File

@ -275,15 +275,14 @@ class Matter_Session_Store
#############################################################
# find session by resumption id
def find_session_by_resumption_id(resumption_id)
import string
if !resumption_id return nil end
var i = 0
var sessions = self.sessions
while i < size(sessions)
var session = sessions[i]
tasmota.log(string.format("MTR: session.resumption_id=%s vs %s", str(session.resumption_id), str(resumption_id)), 4)
tasmota.log(format("MTR: session.resumption_id=%s vs %s", str(session.resumption_id), str(resumption_id)), 4)
if session.resumption_id == resumption_id && session.shared_secret != nil
# tasmota.log(string.format("MTR: session.shared_secret=%s", str(session.shared_secret)), 4)
# tasmota.log(format("MTR: session.shared_secret=%s", str(session.shared_secret)), 4)
session.update()
return session
end
@ -323,12 +322,10 @@ class Matter_Session_Store
fabs = "[" + fabs.concat(",") + "]"
try
import string
var f = open(self._FABRICS, "w")
f.write(fabs)
f.close()
tasmota.log(string.format("MTR: =Saved %i fabric(s) and %i session(s)", fabs_size, sessions_saved), 3)
tasmota.log(format("MTR: =Saved %i fabric(s) and %i session(s)", fabs_size, sessions_saved), 3)
self.device.event_fabrics_saved() # signal event
except .. as e, m
tasmota.log("MTR: Session_Store::save Exception:" + str(e) + "|" + str(m), 2)
@ -338,7 +335,6 @@ class Matter_Session_Store
#############################################################
# load fabrics and associated sessions
def load_fabrics()
import string
try
self.sessions = matter.Expirable_list() # remove any left-over
self.fabrics = matter.Expirable_list() # remove any left-over
@ -373,7 +369,7 @@ class Matter_Session_Store
self.fabrics.push(fabric)
end
tasmota.log(string.format("MTR: Loaded %i fabric(s)", size(self.fabrics)), 2)
tasmota.log(format("MTR: Loaded %i fabric(s)", size(self.fabrics)), 2)
except .. as e, m
if e != "io_error"
tasmota.log("MTR: Session_Store::load Exception:" + str(e) + "|" + str(m), 2)

View File

@ -81,8 +81,7 @@ class Matter_TCP_async
end
return true
else
import string
tasmota.log(string.format("BRY: failed to resolve [%s]:%i", self.addr, self.port), 3)
tasmota.log(format("BRY: failed to resolve [%s]:%i", self.addr, self.port), 3)
self.close()
self.status = -1
self.tcp_connected = false

View File

@ -136,34 +136,33 @@ class Matter_TLV
# We are trying to follow the official Matter way of printing TLV
# Ex: '42U' or '1 = 42U' or '0xFFF1::0xDEED:0xAA55FEED = 42U'
def tostring()
import string
# var s = "<instance: Matter_TLV_item("
var s = ""
try # any exception raised in `tostring()` causes a crash, so better catch it here
if self.tag_profile == -1
s += "Matter::"
if self.tag_number != nil s += string.format("0x%08X ", self.tag_number) end
if self.tag_number != nil s += format("0x%08X ", self.tag_number) end
else
if self.tag_vendor != nil s += string.format("0x%04X::", self.tag_vendor) end
if self.tag_profile != nil s += string.format("0x%04X:", self.tag_profile) end
if self.tag_number != nil s += string.format("0x%08X ", self.tag_number) end
if self.tag_sub != nil s += string.format("%i ", self.tag_sub) end
if self.tag_vendor != nil s += format("0x%04X::", self.tag_vendor) end
if self.tag_profile != nil s += format("0x%04X:", self.tag_profile) end
if self.tag_number != nil s += format("0x%08X ", self.tag_number) end
if self.tag_sub != nil s += format("%i ", self.tag_sub) end
end
if size(s) > 0 s += "= " end
# print value
if type(self.val) == 'int' s += string.format("%i", self.val)
if type(self.val) == 'int' s += format("%i", self.val)
if self.typ >= self.TLV.U1 && self.typ <= self.TLV.U8 s += "U" end
elif type(self.val) == 'bool' s += self.val ? "true" : "false"
elif self.val == nil s += "null"
elif type(self.val) == 'real' s += string.format("%g", self.val)
elif type(self.val) == 'string' s += string.format('"%s"', self.val)
elif type(self.val) == 'real' s += format("%g", self.val)
elif type(self.val) == 'string' s += format('"%s"', self.val)
elif isinstance(self.val, int64) s += self.val.tostring()
if self.typ >= self.TLV.U1 && self.typ <= self.TLV.U8 s += "U" end
elif type(self.val) == 'instance'
s += string.format("%s", self.val.tohex())
s += format("%s", self.val.tohex())
end
except .. as e, m
@ -572,18 +571,17 @@ class Matter_TLV
end
def tostring_inner(sorted, pre, post)
import string
var s = ""
try
if self.tag_profile == -1
s += "Matter::"
if self.tag_number != nil s += string.format("0x%08X ", self.tag_number) end
if self.tag_number != nil s += format("0x%08X ", self.tag_number) end
else
if self.tag_vendor != nil s += string.format("0x%04X::", self.tag_vendor) end
if self.tag_profile != nil s += string.format("0x%04X:", self.tag_profile) end
if self.tag_number != nil s += string.format("0x%08X ", self.tag_number) end
if self.tag_sub != nil s += string.format("%i ", self.tag_sub) end
if self.tag_vendor != nil s += format("0x%04X::", self.tag_vendor) end
if self.tag_profile != nil s += format("0x%04X:", self.tag_profile) end
if self.tag_number != nil s += format("0x%08X ", self.tag_number) end
if self.tag_sub != nil s += format("%i ", self.tag_sub) end
end
if size(s) > 0 s += "= " end

View File

@ -116,7 +116,6 @@ class Matter_UDPServer
# avoid any starvation.
# Then resend queued outgoing packets.
def every_50ms()
import string
var packet_read = 0
if self.udp_socket == nil return end
var packet = self.udp_socket.read()
@ -125,7 +124,7 @@ class Matter_UDPServer
packet_read += 1
var from_addr = self.udp_socket.remote_ip
var from_port = self.udp_socket.remote_port
tasmota.log(string.format("MTR: UDP received from [%s]:%i", from_addr, from_port), 4)
tasmota.log(format("MTR: UDP received from [%s]:%i", from_addr, from_port), 4)
if self.dispatch_cb
self.dispatch_cb(packet, from_addr, from_port)
end
@ -144,12 +143,11 @@ class Matter_UDPServer
#
# Returns `true` if packet was successfully sent.
def send(packet)
import string
var ok = self.udp_socket.send(packet.addr ? packet.addr : self.udp_socket.remote_ip, packet.port ? packet.port : self.udp_socket.remote_port, packet.raw)
if ok
tasmota.log(string.format("MTR: sending packet to '[%s]:%i'", packet.addr, packet.port), 4)
tasmota.log(format("MTR: sending packet to '[%s]:%i'", packet.addr, packet.port), 4)
else
tasmota.log(string.format("MTR: error sending packet to '[%s]:%i'", packet.addr, packet.port), 3)
tasmota.log(format("MTR: error sending packet to '[%s]:%i'", packet.addr, packet.port), 3)
end
return ok
end
@ -175,9 +173,8 @@ class Matter_UDPServer
packet.retries += 1
idx += 1
else
import string
self.packets_sent.remove(idx)
tasmota.log(string.format("MTR: . (%6i) Unacked packet '[%s]:%i' msg_id=%i", packet.session_id, packet.addr, packet.port, packet.msg_id), 3)
tasmota.log(format("MTR: . (%6i) Unacked packet '[%s]:%i' msg_id=%i", packet.session_id, packet.addr, packet.port, packet.msg_id), 3)
end
else
idx += 1

View File

@ -207,7 +207,6 @@ class Matter_UI
#- ---------------------------------------------------------------------- -#
def show_fabric_info()
import webserver
import string
webserver.content_send("<fieldset><legend><b>&nbsp;Fabrics&nbsp;</b></legend><p></p>"
"<p>Associated fabrics:</p>")
@ -498,7 +497,7 @@ class Matter_UI
webserver.content_send("<option value='' disabled>--- Tasmota Remote ---</option>")
else
var nam = self.device.get_plugin_class_displayname(typ)
webserver.content_send(string.format("<option value='%s'%s>%s</option>", typ, (typ == cur) ? " selected" : "", nam))
webserver.content_send(format("<option value='%s'%s>%s</option>", typ, (typ == cur) ? " selected" : "", nam))
end
i += 1
end
@ -510,7 +509,6 @@ class Matter_UI
#######################################################################
def page_part_mgr_adv()
import webserver
import string
if !webserver.check_privileged_access() return nil end
@ -531,7 +529,6 @@ class Matter_UI
#######################################################################
def page_part_mgr()
import webserver
import string
if !webserver.check_privileged_access() return nil end
@ -616,7 +613,6 @@ class Matter_UI
#- ---------------------------------------------------------------------- -#
def show_remote_autoconf(url)
import webserver
import string
import json
if url == '' return end
@ -635,7 +631,7 @@ class Matter_UI
end
if status8 != nil && status11 != nil
tasmota.log(string.format("MTR: probed '%s' status8=%s satus11=%s", url, str(status8), str(status11)), 3)
tasmota.log(format("MTR: probed '%s' status8=%s satus11=%s", url, str(status8), str(status11)), 3)
var config_list = self.generate_config_from_status(status8, status11)
@ -644,7 +640,7 @@ class Matter_UI
webserver.content_send("<fieldset><legend><b>&nbsp;Matter Remote Device&nbsp;</b></legend><p></p>"
"<p><b>Add Remote sensor or device</b></p>")
webserver.content_send(string.format("<p>&#x1F517; <a target='_blank' href=\"http://%s/?\">%s</a></p>", webserver.html_escape(url), webserver.html_escape(url)))
webserver.content_send(format("<p>&#x1F517; <a target='_blank' href=\"http://%s/?\">%s</a></p>", webserver.html_escape(url), webserver.html_escape(url)))
# Add new endpoint section
webserver.content_send("<form action='/matterc' method='post'>"
@ -655,7 +651,7 @@ class Matter_UI
"<td style='font-size:smaller;'>Parameter</td>"
"</tr>")
webserver.content_send(string.format("<input name='url' type='hidden' value='%s'>", webserver.html_escape(url)))
webserver.content_send(format("<input name='url' type='hidden' value='%s'>", webserver.html_escape(url)))
var i = 0
while i < size(config_list)
@ -669,23 +665,23 @@ class Matter_UI
arg = cl.ui_conf_to_string(cl, config)
end
webserver.content_send(string.format("<tr><td style='font-size:smaller;'><input type='text' name='nam%i' size='1' value='' placeholder='(optional)'></td>", i))
webserver.content_send(string.format("<td style='font-size:smaller;'><select name='pi%i' onchange='otm(\"arg%i\",this.value)'>", i, i))
webserver.content_send(format("<tr><td style='font-size:smaller;'><input type='text' name='nam%i' size='1' value='' placeholder='(optional)'></td>", i))
webserver.content_send(format("<td style='font-size:smaller;'><select name='pi%i' onchange='otm(\"arg%i\",this.value)'>", i, i))
self.plugin_option(typ, self._CLASSES_TYPES2)
webserver.content_send("</select></td>"
"<td style='font-size:smaller;'>")
webserver.content_send(string.format("<input type='text' id='arg%i' name='arg%i' size='1' value='%s' placeholder='%s'>",
webserver.content_send(format("<input type='text' id='arg%i' name='arg%i' size='1' value='%s' placeholder='%s'>",
i, i, webserver.html_escape(arg), cl ? webserver.html_escape(cl.ARG_HINT) : ''))
webserver.content_send("</td></tr>")
i += 1
end
# empty line for new endpoint
webserver.content_send(string.format("<tr><td style='font-size:smaller;'><input type='text' name='nam%i' size='1' value='' placeholder='(optional)'></td>", i))
webserver.content_send(string.format("<td style='font-size:smaller;'><select name='pi%i' onchange='otm(\"arg%i\",this.value)'>", i, i))
webserver.content_send(format("<tr><td style='font-size:smaller;'><input type='text' name='nam%i' size='1' value='' placeholder='(optional)'></td>", i))
webserver.content_send(format("<td style='font-size:smaller;'><select name='pi%i' onchange='otm(\"arg%i\",this.value)'>", i, i))
self.plugin_option('', self._CLASSES_TYPES2)
webserver.content_send("</select></td>"
"<td style='font-size:smaller;'>")
webserver.content_send(string.format("<input type='text' id='arg%i' name='arg%i' size='1' value='%s'>",
webserver.content_send(format("<input type='text' id='arg%i' name='arg%i' size='1' value='%s'>",
i, i, ''))
webserver.content_send("</td></tr>")
@ -699,7 +695,7 @@ class Matter_UI
webserver.content_send("</form></fieldset>")
else
webserver.content_send(string.format("<p><b>Unable to connect to '%s'</b></p>", webserver.html_escape(url)))
webserver.content_send(format("<p><b>Unable to connect to '%s'</b></p>", webserver.html_escape(url)))
end
@ -710,7 +706,6 @@ class Matter_UI
#######################################################################
def page_part_mgr_add()
import webserver
import string
if !webserver.check_privileged_access() return nil end
@ -743,14 +738,14 @@ class Matter_UI
# debug information about parameters
for i:0..webserver.arg_size()-1
tasmota.log(string.format("MTR: Arg%i '%s' = '%s'", i, webserver.arg_name(i), webserver.arg(i)))
tasmota.log(format("MTR: Arg%i '%s' = '%s'", i, webserver.arg_name(i), webserver.arg(i)))
end
#---------------------------------------------------------------------#
# Change Passcode and/or Passcode
#---------------------------------------------------------------------#
if webserver.has_arg("passcode") || webserver.has_arg("discriminator")
tasmota.log(string.format("MTR: /matterc received '%s' command", 'passcode'), 3)
tasmota.log(format("MTR: /matterc received '%s' command", 'passcode'), 3)
if webserver.has_arg("passcode")
self.device.root_passcode = int(webserver.arg("passcode"))
end
@ -769,10 +764,10 @@ class Matter_UI
if matter_enabled_requested != self.matter_enabled()
if matter_enabled_requested
tasmota.log(string.format("MTR: /matterc received '%s' command", 'enable'), 3)
tasmota.log(format("MTR: /matterc received '%s' command", 'enable'), 3)
tasmota.cmd("SetOption" + str(matter.MATTER_OPTION) + " 1")
else
tasmota.log(string.format("MTR: /matterc received '%s' command", 'disable'), 3)
tasmota.log(format("MTR: /matterc received '%s' command", 'disable'), 3)
tasmota.cmd("SetOption" + str(matter.MATTER_OPTION) + " 0")
end
#- and force restart -#
@ -794,7 +789,7 @@ class Matter_UI
# Delete Fabric
#---------------------------------------------------------------------#
elif webserver.has_arg("del_fabric")
tasmota.log(string.format("MTR: /matterc received '%s' command", 'del_fabric'), 3)
tasmota.log(format("MTR: /matterc received '%s' command", 'del_fabric'), 3)
var del_fabric = int(webserver.arg("del_fabric"))
var idx = 0
var fabrics = self.device.sessions.fabrics
@ -813,7 +808,7 @@ class Matter_UI
# Reset to default auto-configuration
#---------------------------------------------------------------------#
elif webserver.has_arg("auto")
tasmota.log(string.format("MTR: /matterc received '%s' command", 'auto'), 3)
tasmota.log(format("MTR: /matterc received '%s' command", 'auto'), 3)
self.device.plugins_persist = false
self.device.save_param()
#- and force restart -#
@ -823,7 +818,7 @@ class Matter_UI
# Apply new configuration template
#---------------------------------------------------------------------#
elif webserver.has_arg("config")
tasmota.log(string.format("MTR: /matterc received '%s' command", 'config'), 3)
tasmota.log(format("MTR: /matterc received '%s' command", 'config'), 3)
var needs_saving = false
# iterate by endpoint number
for i:0..webserver.arg_size()-1
@ -837,25 +832,25 @@ class Matter_UI
if conf_ep != nil # found
var typ_class = self.device.plugins_classes.find(conf_ep.find('type', ''))
if typ_class != nil
tasmota.log(string.format("MTR: ep=%i arg=%s", arg_ep, arg), 3)
tasmota.log(format("MTR: ep=%i arg=%s", arg_ep, arg), 3)
# compute the actual value
var prev_arg = typ_class.ui_conf_to_string(typ_class, conf_ep)
var changed = (prev_arg != arg)
tasmota.log(string.format("MTR: ep=%i prev_arg='%s' arg='%s' %s", arg_ep, prev_arg, arg, prev_arg != arg ? "changed" : ""), 3)
tasmota.log(format("MTR: ep=%i prev_arg='%s' arg='%s' %s", arg_ep, prev_arg, arg, prev_arg != arg ? "changed" : ""), 3)
if changed
needs_saving = true
typ_class.ui_string_to_conf(typ_class, conf_ep, arg)
var pl = self.device.find_plugin_by_endpoint(arg_ep)
if pl
tasmota.log(string.format("MTR: apply conf '%s' (%i) to %s", conf_ep, arg_ep, pl), 3)
tasmota.log(format("MTR: apply conf '%s' (%i) to %s", conf_ep, arg_ep, pl), 3)
pl.parse_configuration(conf_ep)
end
end
end
else
tasmota.log(string.format("MTR: ep=%i not found", arg_ep), 3)
tasmota.log(format("MTR: ep=%i not found", arg_ep), 3)
end
elif string.find(arg_name, "nam") == 0 # 'nam<i>' with i being the endpoint
var nam_ep = int(arg_name[3..]) # target endpoint as int
@ -877,7 +872,7 @@ class Matter_UI
else
conf_ep.remove('name')
end
tasmota.log(string.format("MTR: apply name '%s' (%i) to %s", conf_ep, nam_ep, pl), 3)
tasmota.log(format("MTR: apply name '%s' (%i) to %s", conf_ep, nam_ep, pl), 3)
pl.parse_configuration(conf_ep)
end
end
@ -885,10 +880,10 @@ class Matter_UI
end
end
tasmota.log(string.format("MTR: config = %s", str(self.device.plugins_config)), 3)
tasmota.log(format("MTR: config = %s", str(self.device.plugins_config)), 3)
if error
tasmota.log(string.format("MTR: config error = %s", error), 3)
tasmota.log(format("MTR: config error = %s", error), 3)
else
if needs_saving || !self.device.plugins_persist
self.device.plugins_persist = true
@ -904,7 +899,7 @@ class Matter_UI
var typ = webserver.arg('pi')
var arg = webserver.arg('arg')
var nam = webserver.arg('nam')
tasmota.log(string.format("MTR: add endpoint typ='%s' arg='%s'", typ, arg), 3)
tasmota.log(format("MTR: add endpoint typ='%s' arg='%s'", typ, arg), 3)
# check if type exists
var typ_class = self.device.plugins_classes.find(typ)
@ -944,12 +939,12 @@ class Matter_UI
# check if configuration is already present
var duplicate = false
for c: self.device.plugins_config # iterate on values, not on keys()
# tasmota.log(string.format("MTR: map_compare '%s' ?= '%s' -> %s", str(c), str(config), str(self.equal_map(c,config))), 3)
# tasmota.log(format("MTR: map_compare '%s' ?= '%s' -> %s", str(c), str(config), str(self.equal_map(c,config))), 3)
if self.equal_map(c,config) duplicate = true break end
end
# not a duplicate, add it
if !duplicate
tasmota.log(string.format("MTR: remote add url='%s' type='%s' arg='%s'", url, typ, arg), 3)
tasmota.log(format("MTR: remote add url='%s' type='%s' arg='%s'", url, typ, arg), 3)
self.device.bridge_add_endpoint(typ, config)
end
end
@ -984,18 +979,18 @@ class Matter_UI
if error
webserver.content_start("Parameter error") #- title of the web page -#
webserver.content_send_style() #- send standard Tasmota styles -#
webserver.content_send(string.format("<p style='width:340px;'><b>Error:</b>%s</p>", webserver.html_escape(error)))
webserver.content_send(format("<p style='width:340px;'><b>Error:</b>%s</p>", webserver.html_escape(error)))
webserver.content_button(webserver.BUTTON_CONFIGURATION) #- button back to configuration page -#
webserver.content_stop() #- end of web page -#
end
except .. as e, m
tasmota.log(string.format("BRY: Exception> '%s' - %s", e, m), 2)
tasmota.log(format("BRY: Exception> '%s' - %s", e, m), 2)
#- display error page -#
webserver.content_start("Parameter error") #- title of the web page -#
webserver.content_send_style() #- send standard Tasmota styles -#
webserver.content_send(string.format("<p style='width:340px;'><b>Exception:</b><br>'%s'<br>%s</p>", e, m))
webserver.content_send(format("<p style='width:340px;'><b>Exception:</b><br>'%s'<br>%s</p>", e, m))
webserver.content_button(webserver.BUTTON_CONFIGURATION) #- button back to configuration page -#
webserver.content_stop() #- end of web page -#
@ -1007,7 +1002,6 @@ class Matter_UI
#######################################################################
def show_bridge_status()
import webserver
import string
var bridge_plugin_by_host
var idx = 0
@ -1034,7 +1028,7 @@ class Matter_UI
for host: self.device.k2l(bridge_plugin_by_host)
var host_html = webserver.html_escape(host)
webserver.content_send(string.format("<tr class='ztdm htrm'><td>&#x1F517; <a target='_blank' title='http://%s/' href=\"http://%s/?\"'>%s</a></td>", host_html, host_html, host_html))
webserver.content_send(format("<tr class='ztdm htrm'><td>&#x1F517; <a target='_blank' title='http://%s/' href=\"http://%s/?\"'>%s</a></td>", host_html, host_html, host_html))
var http_remote = bridge_plugin_by_host[host][0].http_remote # get the http_remote object from the first in list
webserver.content_send(http_remote.web_last_seen())
@ -1053,17 +1047,16 @@ class Matter_UI
#- display sensor value in the web UI -#
def web_sensor()
import webserver
import string
if self.matter_enabled()
# mtc0 = close, mtc1 = open commissioning
var fabrics_count = self.device.sessions.count_active_fabrics()
if fabrics_count == 0
webserver.content_send(string.format("<div style='text-align:right;font-size:11px;color:#aaa;padding:0px;'>%s</div>", "Matter: No active association"))
webserver.content_send(format("<div style='text-align:right;font-size:11px;color:#aaa;padding:0px;'>%s</div>", "Matter: No active association"))
else
var plural = fabrics_count > 1
webserver.content_send(string.format("<div style='text-align:right;font-size:11px;color:#aaa;padding:0px;'>%s</div>", "Matter: " + str(fabrics_count) + " active association" + (plural ? "s" : "")))
webserver.content_send(format("<div style='text-align:right;font-size:11px;color:#aaa;padding:0px;'>%s</div>", "Matter: " + str(fabrics_count) + " active association" + (plural ? "s" : "")))
end
self.show_bridge_status()

View File

@ -52,7 +52,6 @@ matter.jitter = jitter
# debug function
def inspect(p)
try
import string
import introspect
var keys = []
@ -66,7 +65,7 @@ def inspect(p)
for k : keys
var v = introspect.get(p, k)
# if type(v) == 'string' v = string.escape(v, true) end
r.push(string.format("'%s': %s", str(k), str(v)))
r.push(format("'%s': %s", str(k), str(v)))
end
return "{" + r.concat(", ") + "}"

View File

@ -19,7 +19,7 @@ be_local_closure(Matter_Base38_encode, /* name */
1, /* has sup protos */
( &(const struct bproto*[ 1]) {
be_nested_proto(
7, /* nstack */
6, /* nstack */
2, /* argc */
0, /* varg */
0, /* has upvals */
@ -27,31 +27,29 @@ be_local_closure(Matter_Base38_encode, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_X2D_X2E),
/* K2 */ be_const_int(0),
/* K3 */ be_nested_str_weak(),
/* K4 */ be_const_int(1),
( &(const bvalue[ 4]) { /* constants */
/* K0 */ be_nested_str_weak(0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_X2D_X2E),
/* K1 */ be_const_int(0),
/* K2 */ be_nested_str_weak(),
/* K3 */ be_const_int(1),
}),
be_str_weak(b38_enc),
&be_const_str_solidified,
( &(const binstruction[15]) { /* code */
0xA40A0000, // 0000 IMPORT R2 K0
( &(const binstruction[14]) { /* code */
0x58080000, // 0000 LDCONST R2 K0
0x580C0001, // 0001 LDCONST R3 K1
0x58100002, // 0002 LDCONST R4 K2
0x58140003, // 0003 LDCONST R5 K3
0x14180801, // 0004 LT R6 R4 R1
0x781A0007, // 0005 JMPF R6 #000E
0x541A0025, // 0006 LDINT R6 38
0x10180006, // 0007 MOD R6 R0 R6
0x94180606, // 0008 GETIDX R6 R3 R6
0x00140A06, // 0009 ADD R5 R5 R6
0x541A0025, // 000A LDINT R6 38
0x0C000006, // 000B DIV R0 R0 R6
0x00100904, // 000C ADD R4 R4 K4
0x7001FFF5, // 000D JMP #0004
0x80040A00, // 000E RET 1 R5
0x14140601, // 0003 LT R5 R3 R1
0x78160007, // 0004 JMPF R5 #000D
0x54160025, // 0005 LDINT R5 38
0x10140005, // 0006 MOD R5 R0 R5
0x94140405, // 0007 GETIDX R5 R2 R5
0x00100805, // 0008 ADD R4 R4 R5
0x54160025, // 0009 LDINT R5 38
0x0C000005, // 000A DIV R0 R0 R5
0x000C0703, // 000B ADD R3 R3 K3
0x7001FFF5, // 000C JMP #0003
0x80040800, // 000D RET 1 R4
})
),
}),

View File

@ -11,7 +11,7 @@ extern const bclass be_class_Matter_Control_Message;
********************************************************************/
be_local_closure(Matter_Control_Message_parse_MsgCounterSyncRsp, /* name */
be_nested_proto(
11, /* nstack */
9, /* nstack */
2, /* argc */
2, /* varg */
0, /* has upvals */
@ -19,39 +19,36 @@ be_local_closure(Matter_Control_Message_parse_MsgCounterSyncRsp, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[11]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(session),
/* K2 */ be_nested_str_weak(tasmota),
/* K3 */ be_nested_str_weak(log),
/* K4 */ be_nested_str_weak(format),
/* K5 */ be_nested_str_weak(MTR_X3A_X20_X3EMCSyncRsp_X20_X2A_X20Not_X20implemented_X20_X25s),
/* K6 */ be_nested_str_weak(raw),
/* K7 */ be_nested_str_weak(app_payload_idx),
/* K8 */ be_const_int(2147483647),
/* K9 */ be_nested_str_weak(tohex),
/* K10 */ be_const_int(2),
( &(const bvalue[ 9]) { /* constants */
/* K0 */ be_nested_str_weak(session),
/* K1 */ be_nested_str_weak(tasmota),
/* K2 */ be_nested_str_weak(log),
/* K3 */ be_nested_str_weak(MTR_X3A_X20_X3EMCSyncRsp_X20_X2A_X20Not_X20implemented_X20_X25s),
/* K4 */ be_nested_str_weak(raw),
/* K5 */ be_nested_str_weak(app_payload_idx),
/* K6 */ be_const_int(2147483647),
/* K7 */ be_nested_str_weak(tohex),
/* K8 */ be_const_int(2),
}),
be_str_weak(parse_MsgCounterSyncRsp),
&be_const_str_solidified,
( &(const binstruction[17]) { /* code */
0xA40A0000, // 0000 IMPORT R2 K0
0x880C0301, // 0001 GETMBR R3 R1 K1
0xB8120400, // 0002 GETNGBL R4 K2
0x8C100903, // 0003 GETMET R4 R4 K3
0x8C180504, // 0004 GETMET R6 R2 K4
0x58200005, // 0005 LDCONST R8 K5
0x88240307, // 0006 GETMBR R9 R1 K7
0x40241308, // 0007 CONNECT R9 R9 K8
0x88280306, // 0008 GETMBR R10 R1 K6
0x94241409, // 0009 GETIDX R9 R10 R9
0x8C241309, // 000A GETMET R9 R9 K9
0x7C240200, // 000B CALL R9 1
0x7C180600, // 000C CALL R6 3
0x581C000A, // 000D LDCONST R7 K10
0x7C100600, // 000E CALL R4 3
0x50100000, // 000F LDBOOL R4 0 0
0x80040800, // 0010 RET 1 R4
( &(const binstruction[16]) { /* code */
0x88080300, // 0000 GETMBR R2 R1 K0
0xB80E0200, // 0001 GETNGBL R3 K1
0x8C0C0702, // 0002 GETMET R3 R3 K2
0x60140018, // 0003 GETGBL R5 G24
0x58180003, // 0004 LDCONST R6 K3
0x881C0305, // 0005 GETMBR R7 R1 K5
0x401C0F06, // 0006 CONNECT R7 R7 K6
0x88200304, // 0007 GETMBR R8 R1 K4
0x941C1007, // 0008 GETIDX R7 R8 R7
0x8C1C0F07, // 0009 GETMET R7 R7 K7
0x7C1C0200, // 000A CALL R7 1
0x7C140400, // 000B CALL R5 2
0x58180008, // 000C LDCONST R6 K8
0x7C0C0600, // 000D CALL R3 3
0x500C0000, // 000E LDBOOL R3 0 0
0x80040600, // 000F RET 1 R3
})
)
);
@ -63,7 +60,7 @@ be_local_closure(Matter_Control_Message_parse_MsgCounterSyncRsp, /* name */
********************************************************************/
be_local_closure(Matter_Control_Message_parse_MsgCounterSyncReq, /* name */
be_nested_proto(
11, /* nstack */
9, /* nstack */
2, /* argc */
2, /* varg */
0, /* has upvals */
@ -71,39 +68,36 @@ be_local_closure(Matter_Control_Message_parse_MsgCounterSyncReq, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[11]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(session),
/* K2 */ be_nested_str_weak(tasmota),
/* K3 */ be_nested_str_weak(log),
/* K4 */ be_nested_str_weak(format),
/* K5 */ be_nested_str_weak(MTR_X3A_X20_X3EMCSyncReq_X20_X2A_X20Not_X20implemented_X20_X25s),
/* K6 */ be_nested_str_weak(raw),
/* K7 */ be_nested_str_weak(app_payload_idx),
/* K8 */ be_const_int(2147483647),
/* K9 */ be_nested_str_weak(tohex),
/* K10 */ be_const_int(2),
( &(const bvalue[ 9]) { /* constants */
/* K0 */ be_nested_str_weak(session),
/* K1 */ be_nested_str_weak(tasmota),
/* K2 */ be_nested_str_weak(log),
/* K3 */ be_nested_str_weak(MTR_X3A_X20_X3EMCSyncReq_X20_X2A_X20Not_X20implemented_X20_X25s),
/* K4 */ be_nested_str_weak(raw),
/* K5 */ be_nested_str_weak(app_payload_idx),
/* K6 */ be_const_int(2147483647),
/* K7 */ be_nested_str_weak(tohex),
/* K8 */ be_const_int(2),
}),
be_str_weak(parse_MsgCounterSyncReq),
&be_const_str_solidified,
( &(const binstruction[17]) { /* code */
0xA40A0000, // 0000 IMPORT R2 K0
0x880C0301, // 0001 GETMBR R3 R1 K1
0xB8120400, // 0002 GETNGBL R4 K2
0x8C100903, // 0003 GETMET R4 R4 K3
0x8C180504, // 0004 GETMET R6 R2 K4
0x58200005, // 0005 LDCONST R8 K5
0x88240307, // 0006 GETMBR R9 R1 K7
0x40241308, // 0007 CONNECT R9 R9 K8
0x88280306, // 0008 GETMBR R10 R1 K6
0x94241409, // 0009 GETIDX R9 R10 R9
0x8C241309, // 000A GETMET R9 R9 K9
0x7C240200, // 000B CALL R9 1
0x7C180600, // 000C CALL R6 3
0x581C000A, // 000D LDCONST R7 K10
0x7C100600, // 000E CALL R4 3
0x50100000, // 000F LDBOOL R4 0 0
0x80040800, // 0010 RET 1 R4
( &(const binstruction[16]) { /* code */
0x88080300, // 0000 GETMBR R2 R1 K0
0xB80E0200, // 0001 GETNGBL R3 K1
0x8C0C0702, // 0002 GETMET R3 R3 K2
0x60140018, // 0003 GETGBL R5 G24
0x58180003, // 0004 LDCONST R6 K3
0x881C0305, // 0005 GETMBR R7 R1 K5
0x401C0F06, // 0006 CONNECT R7 R7 K6
0x88200304, // 0007 GETMBR R8 R1 K4
0x941C1007, // 0008 GETIDX R7 R8 R7
0x8C1C0F07, // 0009 GETMET R7 R7 K7
0x7C1C0200, // 000A CALL R7 1
0x7C140400, // 000B CALL R5 2
0x58180008, // 000C LDCONST R6 K8
0x7C0C0600, // 000D CALL R3 3
0x500C0000, // 000E LDBOOL R3 0 0
0x80040600, // 000F RET 1 R3
})
)
);
@ -147,7 +141,7 @@ be_local_closure(Matter_Control_Message_init, /* name */
********************************************************************/
be_local_closure(Matter_Control_Message_process_incoming_control_message, /* name */
be_nested_proto(
9, /* nstack */
7, /* nstack */
2, /* argc */
2, /* varg */
0, /* has upvals */
@ -155,7 +149,7 @@ be_local_closure(Matter_Control_Message_process_incoming_control_message, /* n
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[15]) { /* constants */
( &(const bvalue[13]) { /* constants */
/* K0 */ be_nested_str_weak(tasmota),
/* K1 */ be_nested_str_weak(log),
/* K2 */ be_nested_str_weak(MTR_X3A_X20received_X20control_X20message_X20),
@ -167,14 +161,12 @@ be_local_closure(Matter_Control_Message_process_incoming_control_message, /* n
/* K8 */ be_nested_str_weak(parse_MsgCounterSyncReq),
/* K9 */ be_const_int(1),
/* K10 */ be_nested_str_weak(parse_MsgCounterSyncRsp),
/* K11 */ be_nested_str_weak(string),
/* K12 */ be_nested_str_weak(format),
/* K13 */ be_nested_str_weak(MTR_X3A_X20_X3E_X3F_X3F_X3F_X3F_X3F_X3F_X3F_X3F_X3F_X20Unknown_X20OpCode_X20_X28control_X20message_X29_X20_X2502X),
/* K14 */ be_const_int(2),
/* K11 */ be_nested_str_weak(MTR_X3A_X20_X3E_X3F_X3F_X3F_X3F_X3F_X3F_X3F_X3F_X3F_X20Unknown_X20OpCode_X20_X28control_X20message_X29_X20_X2502X),
/* K12 */ be_const_int(2),
}),
be_str_weak(process_incoming_control_message),
&be_const_str_solidified,
( &(const binstruction[38]) { /* code */
( &(const binstruction[37]) { /* code */
0xB80A0000, // 0000 GETNGBL R2 K0
0x8C080501, // 0001 GETMET R2 R2 K1
0xB8120600, // 0002 GETNGBL R4 K3
@ -191,7 +183,7 @@ be_local_closure(Matter_Control_Message_process_incoming_control_message, /* n
0x5C100200, // 000D MOVE R4 R1
0x7C080400, // 000E CALL R2 2
0x80040400, // 000F RET 1 R2
0x70020012, // 0010 JMP #0024
0x70020011, // 0010 JMP #0023
0x88080306, // 0011 GETMBR R2 R1 K6
0x1C080509, // 0012 EQ R2 R2 K9
0x780A0004, // 0013 JMPF R2 #0019
@ -199,20 +191,19 @@ be_local_closure(Matter_Control_Message_process_incoming_control_message, /* n
0x5C100200, // 0015 MOVE R4 R1
0x7C080400, // 0016 CALL R2 2
0x80040400, // 0017 RET 1 R2
0x7002000A, // 0018 JMP #0024
0xA40A1600, // 0019 IMPORT R2 K11
0xB80E0000, // 001A GETNGBL R3 K0
0x8C0C0701, // 001B GETMET R3 R3 K1
0x8C14050C, // 001C GETMET R5 R2 K12
0x581C000D, // 001D LDCONST R7 K13
0x88200306, // 001E GETMBR R8 R1 K6
0x7C140600, // 001F CALL R5 3
0x5818000E, // 0020 LDCONST R6 K14
0x7C0C0600, // 0021 CALL R3 3
0x500C0000, // 0022 LDBOOL R3 0 0
0x80040600, // 0023 RET 1 R3
0x50080000, // 0024 LDBOOL R2 0 0
0x80040400, // 0025 RET 1 R2
0x70020009, // 0018 JMP #0023
0xB80A0000, // 0019 GETNGBL R2 K0
0x8C080501, // 001A GETMET R2 R2 K1
0x60100018, // 001B GETGBL R4 G24
0x5814000B, // 001C LDCONST R5 K11
0x88180306, // 001D GETMBR R6 R1 K6
0x7C100400, // 001E CALL R4 2
0x5814000C, // 001F LDCONST R5 K12
0x7C080600, // 0020 CALL R2 3
0x50080000, // 0021 LDBOOL R2 0 0
0x80040400, // 0022 RET 1 R2
0x50080000, // 0023 LDBOOL R2 0 0
0x80040400, // 0024 RET 1 R2
})
)
);

View File

@ -11,7 +11,7 @@ extern const bclass be_class_Matter_Fabric;
********************************************************************/
be_local_closure(Matter_Fabric_counter_group_data_snd_next, /* name */
be_nested_proto(
9, /* nstack */
7, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -19,54 +19,51 @@ be_local_closure(Matter_Fabric_counter_group_data_snd_next, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[15]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(_counter_group_data_snd_impl),
/* K2 */ be_nested_str_weak(next),
/* K3 */ be_nested_str_weak(tasmota),
/* K4 */ be_nested_str_weak(log),
/* K5 */ be_nested_str_weak(format),
/* K6 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Counter_group_data_snd_X3D_X25i),
/* K7 */ be_const_int(3),
/* K8 */ be_nested_str_weak(matter),
/* K9 */ be_nested_str_weak(Counter),
/* K10 */ be_nested_str_weak(is_greater),
/* K11 */ be_nested_str_weak(counter_group_data_snd),
/* K12 */ be_nested_str_weak(_GROUP_SND_INCR),
/* K13 */ be_nested_str_weak(does_persist),
/* K14 */ be_nested_str_weak(save),
( &(const bvalue[13]) { /* constants */
/* K0 */ be_nested_str_weak(_counter_group_data_snd_impl),
/* K1 */ be_nested_str_weak(next),
/* K2 */ be_nested_str_weak(tasmota),
/* K3 */ be_nested_str_weak(log),
/* K4 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Counter_group_data_snd_X3D_X25i),
/* K5 */ be_const_int(3),
/* K6 */ be_nested_str_weak(matter),
/* K7 */ be_nested_str_weak(Counter),
/* K8 */ be_nested_str_weak(is_greater),
/* K9 */ be_nested_str_weak(counter_group_data_snd),
/* K10 */ be_nested_str_weak(_GROUP_SND_INCR),
/* K11 */ be_nested_str_weak(does_persist),
/* K12 */ be_nested_str_weak(save),
}),
be_str_weak(counter_group_data_snd_next),
&be_const_str_solidified,
( &(const binstruction[28]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x88080101, // 0001 GETMBR R2 R0 K1
0x8C080502, // 0002 GETMET R2 R2 K2
0x7C080200, // 0003 CALL R2 1
0xB80E0600, // 0004 GETNGBL R3 K3
0x8C0C0704, // 0005 GETMET R3 R3 K4
0x8C140305, // 0006 GETMET R5 R1 K5
0x581C0006, // 0007 LDCONST R7 K6
0x5C200400, // 0008 MOVE R8 R2
0x7C140600, // 0009 CALL R5 3
0x58180007, // 000A LDCONST R6 K7
0x7C0C0600, // 000B CALL R3 3
0xB80E1000, // 000C GETNGBL R3 K8
0x880C0709, // 000D GETMBR R3 R3 K9
0x8C0C070A, // 000E GETMET R3 R3 K10
0x5C140400, // 000F MOVE R5 R2
0x8818010B, // 0010 GETMBR R6 R0 K11
0x7C0C0600, // 0011 CALL R3 3
0x780E0007, // 0012 JMPF R3 #001B
0x880C010C, // 0013 GETMBR R3 R0 K12
0x000C0403, // 0014 ADD R3 R2 R3
0x90021603, // 0015 SETMBR R0 K11 R3
0x8C0C010D, // 0016 GETMET R3 R0 K13
0x7C0C0200, // 0017 CALL R3 1
0x780E0001, // 0018 JMPF R3 #001B
0x8C0C010E, // 0019 GETMET R3 R0 K14
0x7C0C0200, // 001A CALL R3 1
0x80040400, // 001B RET 1 R2
( &(const binstruction[27]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x8C040301, // 0001 GETMET R1 R1 K1
0x7C040200, // 0002 CALL R1 1
0xB80A0400, // 0003 GETNGBL R2 K2
0x8C080503, // 0004 GETMET R2 R2 K3
0x60100018, // 0005 GETGBL R4 G24
0x58140004, // 0006 LDCONST R5 K4
0x5C180200, // 0007 MOVE R6 R1
0x7C100400, // 0008 CALL R4 2
0x58140005, // 0009 LDCONST R5 K5
0x7C080600, // 000A CALL R2 3
0xB80A0C00, // 000B GETNGBL R2 K6
0x88080507, // 000C GETMBR R2 R2 K7
0x8C080508, // 000D GETMET R2 R2 K8
0x5C100200, // 000E MOVE R4 R1
0x88140109, // 000F GETMBR R5 R0 K9
0x7C080600, // 0010 CALL R2 3
0x780A0007, // 0011 JMPF R2 #001A
0x8808010A, // 0012 GETMBR R2 R0 K10
0x00080202, // 0013 ADD R2 R1 R2
0x90021202, // 0014 SETMBR R0 K9 R2
0x8C08010B, // 0015 GETMET R2 R0 K11
0x7C080200, // 0016 CALL R2 1
0x780A0001, // 0017 JMPF R2 #001A
0x8C08010C, // 0018 GETMET R2 R0 K12
0x7C080200, // 0019 CALL R2 1
0x80040200, // 001A RET 1 R1
})
)
);
@ -493,7 +490,7 @@ be_local_closure(Matter_Fabric_fabric_completed, /* name */
********************************************************************/
be_local_closure(Matter_Fabric_counter_group_ctrl_snd_next, /* name */
be_nested_proto(
9, /* nstack */
7, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -501,54 +498,51 @@ be_local_closure(Matter_Fabric_counter_group_ctrl_snd_next, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[15]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(_counter_group_ctrl_snd_impl),
/* K2 */ be_nested_str_weak(next),
/* K3 */ be_nested_str_weak(tasmota),
/* K4 */ be_nested_str_weak(log),
/* K5 */ be_nested_str_weak(format),
/* K6 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Counter_group_ctrl_snd_X3D_X25i),
/* K7 */ be_const_int(3),
/* K8 */ be_nested_str_weak(matter),
/* K9 */ be_nested_str_weak(Counter),
/* K10 */ be_nested_str_weak(is_greater),
/* K11 */ be_nested_str_weak(counter_group_ctrl_snd),
/* K12 */ be_nested_str_weak(_GROUP_SND_INCR),
/* K13 */ be_nested_str_weak(does_persist),
/* K14 */ be_nested_str_weak(save),
( &(const bvalue[13]) { /* constants */
/* K0 */ be_nested_str_weak(_counter_group_ctrl_snd_impl),
/* K1 */ be_nested_str_weak(next),
/* K2 */ be_nested_str_weak(tasmota),
/* K3 */ be_nested_str_weak(log),
/* K4 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Counter_group_ctrl_snd_X3D_X25i),
/* K5 */ be_const_int(3),
/* K6 */ be_nested_str_weak(matter),
/* K7 */ be_nested_str_weak(Counter),
/* K8 */ be_nested_str_weak(is_greater),
/* K9 */ be_nested_str_weak(counter_group_ctrl_snd),
/* K10 */ be_nested_str_weak(_GROUP_SND_INCR),
/* K11 */ be_nested_str_weak(does_persist),
/* K12 */ be_nested_str_weak(save),
}),
be_str_weak(counter_group_ctrl_snd_next),
&be_const_str_solidified,
( &(const binstruction[28]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x88080101, // 0001 GETMBR R2 R0 K1
0x8C080502, // 0002 GETMET R2 R2 K2
0x7C080200, // 0003 CALL R2 1
0xB80E0600, // 0004 GETNGBL R3 K3
0x8C0C0704, // 0005 GETMET R3 R3 K4
0x8C140305, // 0006 GETMET R5 R1 K5
0x581C0006, // 0007 LDCONST R7 K6
0x5C200400, // 0008 MOVE R8 R2
0x7C140600, // 0009 CALL R5 3
0x58180007, // 000A LDCONST R6 K7
0x7C0C0600, // 000B CALL R3 3
0xB80E1000, // 000C GETNGBL R3 K8
0x880C0709, // 000D GETMBR R3 R3 K9
0x8C0C070A, // 000E GETMET R3 R3 K10
0x5C140400, // 000F MOVE R5 R2
0x8818010B, // 0010 GETMBR R6 R0 K11
0x7C0C0600, // 0011 CALL R3 3
0x780E0007, // 0012 JMPF R3 #001B
0x880C010C, // 0013 GETMBR R3 R0 K12
0x000C0403, // 0014 ADD R3 R2 R3
0x90021603, // 0015 SETMBR R0 K11 R3
0x8C0C010D, // 0016 GETMET R3 R0 K13
0x7C0C0200, // 0017 CALL R3 1
0x780E0001, // 0018 JMPF R3 #001B
0x8C0C010E, // 0019 GETMET R3 R0 K14
0x7C0C0200, // 001A CALL R3 1
0x80040400, // 001B RET 1 R2
( &(const binstruction[27]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x8C040301, // 0001 GETMET R1 R1 K1
0x7C040200, // 0002 CALL R1 1
0xB80A0400, // 0003 GETNGBL R2 K2
0x8C080503, // 0004 GETMET R2 R2 K3
0x60100018, // 0005 GETGBL R4 G24
0x58140004, // 0006 LDCONST R5 K4
0x5C180200, // 0007 MOVE R6 R1
0x7C100400, // 0008 CALL R4 2
0x58140005, // 0009 LDCONST R5 K5
0x7C080600, // 000A CALL R2 3
0xB80A0C00, // 000B GETNGBL R2 K6
0x88080507, // 000C GETMBR R2 R2 K7
0x8C080508, // 000D GETMET R2 R2 K8
0x5C100200, // 000E MOVE R4 R1
0x88140109, // 000F GETMBR R5 R0 K9
0x7C080600, // 0010 CALL R2 3
0x780A0007, // 0011 JMPF R2 #001A
0x8808010A, // 0012 GETMBR R2 R0 K10
0x00080202, // 0013 ADD R2 R1 R2
0x90021202, // 0014 SETMBR R0 K9 R2
0x8C08010B, // 0015 GETMET R2 R0 K11
0x7C080200, // 0016 CALL R2 1
0x780A0001, // 0017 JMPF R2 #001A
0x8C08010C, // 0018 GETMET R2 R0 K12
0x7C080200, // 0019 CALL R2 1
0x80040200, // 001A RET 1 R1
})
)
);
@ -587,7 +581,7 @@ be_local_closure(Matter_Fabric_get_ipk_epoch_key, /* name */
********************************************************************/
be_local_closure(Matter_Fabric_tojson, /* name */
be_nested_proto(
18, /* nstack */
16, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -595,160 +589,157 @@ be_local_closure(Matter_Fabric_tojson, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[29]) { /* constants */
( &(const bvalue[27]) { /* constants */
/* K0 */ be_nested_str_weak(json),
/* K1 */ be_nested_str_weak(string),
/* K2 */ be_nested_str_weak(introspect),
/* K3 */ be_nested_str_weak(persist_pre),
/* K4 */ be_nested_str_weak(members),
/* K5 */ be_nested_str_weak(get),
/* K6 */ be_nested_str_weak(function),
/* K7 */ be_const_int(0),
/* K8 */ be_nested_str_weak(_),
/* K9 */ be_nested_str_weak(push),
/* K10 */ be_nested_str_weak(stop_iteration),
/* K11 */ be_nested_str_weak(matter),
/* K12 */ be_nested_str_weak(sort),
/* K13 */ be_nested_str_weak(_X24_X24),
/* K14 */ be_nested_str_weak(tob64),
/* K15 */ be_nested_str_weak(format),
/* K16 */ be_nested_str_weak(_X25s_X3A_X25s),
/* K17 */ be_nested_str_weak(dump),
/* K18 */ be_nested_str_weak(_sessions),
/* K19 */ be_nested_str_weak(persistables),
/* K20 */ be_nested_str_weak(tojson),
/* K21 */ be_nested_str_weak(_X5B),
/* K22 */ be_nested_str_weak(concat),
/* K23 */ be_nested_str_weak(_X2C),
/* K24 */ be_nested_str_weak(_X5D),
/* K25 */ be_nested_str_weak(_X22_sessions_X22_X3A),
/* K26 */ be_nested_str_weak(persist_post),
/* K27 */ be_nested_str_weak(_X7B),
/* K28 */ be_nested_str_weak(_X7D),
/* K1 */ be_nested_str_weak(introspect),
/* K2 */ be_nested_str_weak(persist_pre),
/* K3 */ be_nested_str_weak(members),
/* K4 */ be_nested_str_weak(get),
/* K5 */ be_nested_str_weak(function),
/* K6 */ be_const_int(0),
/* K7 */ be_nested_str_weak(_),
/* K8 */ be_nested_str_weak(push),
/* K9 */ be_nested_str_weak(stop_iteration),
/* K10 */ be_nested_str_weak(matter),
/* K11 */ be_nested_str_weak(sort),
/* K12 */ be_nested_str_weak(_X24_X24),
/* K13 */ be_nested_str_weak(tob64),
/* K14 */ be_nested_str_weak(_X25s_X3A_X25s),
/* K15 */ be_nested_str_weak(dump),
/* K16 */ be_nested_str_weak(_sessions),
/* K17 */ be_nested_str_weak(persistables),
/* K18 */ be_nested_str_weak(tojson),
/* K19 */ be_nested_str_weak(_X5B),
/* K20 */ be_nested_str_weak(concat),
/* K21 */ be_nested_str_weak(_X2C),
/* K22 */ be_nested_str_weak(_X5D),
/* K23 */ be_nested_str_weak(_X22_sessions_X22_X3A),
/* K24 */ be_nested_str_weak(persist_post),
/* K25 */ be_nested_str_weak(_X7B),
/* K26 */ be_nested_str_weak(_X7D),
}),
be_str_weak(tojson),
&be_const_str_solidified,
( &(const binstruction[120]) { /* code */
( &(const binstruction[119]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xA40A0200, // 0001 IMPORT R2 K1
0xA40E0400, // 0002 IMPORT R3 K2
0x8C100103, // 0003 GETMET R4 R0 K3
0x7C100200, // 0004 CALL R4 1
0x60100012, // 0005 GETGBL R4 G18
0x7C100000, // 0006 CALL R4 0
0x60140010, // 0007 GETGBL R5 G16
0x8C180704, // 0008 GETMET R6 R3 K4
0x5C200000, // 0009 MOVE R8 R0
0x7C180400, // 000A CALL R6 2
0x7C140200, // 000B CALL R5 1
0xA8020011, // 000C EXBLK 0 #001F
0x5C180A00, // 000D MOVE R6 R5
0x7C180000, // 000E CALL R6 0
0x8C1C0705, // 000F GETMET R7 R3 K5
0x5C240000, // 0010 MOVE R9 R0
0x5C280C00, // 0011 MOVE R10 R6
0x7C1C0600, // 0012 CALL R7 3
0x60200004, // 0013 GETGBL R8 G4
0x5C240E00, // 0014 MOVE R9 R7
0x7C200200, // 0015 CALL R8 1
0x20201106, // 0016 NE R8 R8 K6
0x78220005, // 0017 JMPF R8 #001E
0x94200D07, // 0018 GETIDX R8 R6 K7
0x20201108, // 0019 NE R8 R8 K8
0x78220002, // 001A JMPF R8 #001E
0x8C200909, // 001B GETMET R8 R4 K9
0x5C280C00, // 001C MOVE R10 R6
0x7C200400, // 001D CALL R8 2
0x7001FFED, // 001E JMP #000D
0x5814000A, // 001F LDCONST R5 K10
0xAC140200, // 0020 CATCH R5 1 0
0xB0080000, // 0021 RAISE 2 R0 R0
0xB8161600, // 0022 GETNGBL R5 K11
0x8C140B0C, // 0023 GETMET R5 R5 K12
0x5C1C0800, // 0024 MOVE R7 R4
0x7C140400, // 0025 CALL R5 2
0x5C100A00, // 0026 MOVE R4 R5
0x60140012, // 0027 GETGBL R5 G18
0x7C140000, // 0028 CALL R5 0
0x60180010, // 0029 GETGBL R6 G16
0x5C1C0800, // 002A MOVE R7 R4
0x7C180200, // 002B CALL R6 1
0xA8020020, // 002C EXBLK 0 #004E
0x5C1C0C00, // 002D MOVE R7 R6
0x7C1C0000, // 002E CALL R7 0
0x8C200705, // 002F GETMET R8 R3 K5
0x5C280000, // 0030 MOVE R10 R0
0x5C2C0E00, // 0031 MOVE R11 R7
0x7C200600, // 0032 CALL R8 3
0x4C240000, // 0033 LDNIL R9
0x1C241009, // 0034 EQ R9 R8 R9
0x78260000, // 0035 JMPF R9 #0037
0x7001FFF5, // 0036 JMP #002D
0x6024000F, // 0037 GETGBL R9 G15
0x5C281000, // 0038 MOVE R10 R8
0x602C0015, // 0039 GETGBL R11 G21
0x7C240400, // 003A CALL R9 2
0x78260003, // 003B JMPF R9 #0040
0x8C24110E, // 003C GETMET R9 R8 K14
0x7C240200, // 003D CALL R9 1
0x00261A09, // 003E ADD R9 K13 R9
0x5C201200, // 003F MOVE R8 R9
0x8C240B09, // 0040 GETMET R9 R5 K9
0x8C2C050F, // 0041 GETMET R11 R2 K15
0x58340010, // 0042 LDCONST R13 K16
0x8C380311, // 0043 GETMET R14 R1 K17
0x60400008, // 0044 GETGBL R16 G8
0x5C440E00, // 0045 MOVE R17 R7
0x7C400200, // 0046 CALL R16 1
0x7C380400, // 0047 CALL R14 2
0x8C3C0311, // 0048 GETMET R15 R1 K17
0x5C441000, // 0049 MOVE R17 R8
0x7C3C0400, // 004A CALL R15 2
0x7C2C0800, // 004B CALL R11 4
0x7C240400, // 004C CALL R9 2
0x7001FFDE, // 004D JMP #002D
0x5818000A, // 004E LDCONST R6 K10
0xAC180200, // 004F CATCH R6 1 0
0xB0080000, // 0050 RAISE 2 R0 R0
0x60180012, // 0051 GETGBL R6 G18
0x7C180000, // 0052 CALL R6 0
0x601C0010, // 0053 GETGBL R7 G16
0x88200112, // 0054 GETMBR R8 R0 K18
0x8C201113, // 0055 GETMET R8 R8 K19
0x7C200200, // 0056 CALL R8 1
0x7C1C0200, // 0057 CALL R7 1
0xA8020006, // 0058 EXBLK 0 #0060
0x5C200E00, // 0059 MOVE R8 R7
0x7C200000, // 005A CALL R8 0
0x8C240D09, // 005B GETMET R9 R6 K9
0x8C2C1114, // 005C GETMET R11 R8 K20
0x7C2C0200, // 005D CALL R11 1
0x7C240400, // 005E CALL R9 2
0x7001FFF8, // 005F JMP #0059
0x581C000A, // 0060 LDCONST R7 K10
0xAC1C0200, // 0061 CATCH R7 1 0
0xB0080000, // 0062 RAISE 2 R0 R0
0x601C000C, // 0063 GETGBL R7 G12
0x5C200C00, // 0064 MOVE R8 R6
0x7C1C0200, // 0065 CALL R7 1
0x241C0F07, // 0066 GT R7 R7 K7
0x781E0007, // 0067 JMPF R7 #0070
0x8C1C0D16, // 0068 GETMET R7 R6 K22
0x58240017, // 0069 LDCONST R9 K23
0x7C1C0400, // 006A CALL R7 2
0x001E2A07, // 006B ADD R7 K21 R7
0x001C0F18, // 006C ADD R7 R7 K24
0x8C200B09, // 006D GETMET R8 R5 K9
0x002A3207, // 006E ADD R10 K25 R7
0x7C200400, // 006F CALL R8 2
0x8C1C011A, // 0070 GETMET R7 R0 K26
0x7C1C0200, // 0071 CALL R7 1
0x8C1C0B16, // 0072 GETMET R7 R5 K22
0x58240017, // 0073 LDCONST R9 K23
0x7C1C0400, // 0074 CALL R7 2
0x001E3607, // 0075 ADD R7 K27 R7
0x001C0F1C, // 0076 ADD R7 R7 K28
0x80040E00, // 0077 RET 1 R7
0x8C0C0102, // 0002 GETMET R3 R0 K2
0x7C0C0200, // 0003 CALL R3 1
0x600C0012, // 0004 GETGBL R3 G18
0x7C0C0000, // 0005 CALL R3 0
0x60100010, // 0006 GETGBL R4 G16
0x8C140503, // 0007 GETMET R5 R2 K3
0x5C1C0000, // 0008 MOVE R7 R0
0x7C140400, // 0009 CALL R5 2
0x7C100200, // 000A CALL R4 1
0xA8020011, // 000B EXBLK 0 #001E
0x5C140800, // 000C MOVE R5 R4
0x7C140000, // 000D CALL R5 0
0x8C180504, // 000E GETMET R6 R2 K4
0x5C200000, // 000F MOVE R8 R0
0x5C240A00, // 0010 MOVE R9 R5
0x7C180600, // 0011 CALL R6 3
0x601C0004, // 0012 GETGBL R7 G4
0x5C200C00, // 0013 MOVE R8 R6
0x7C1C0200, // 0014 CALL R7 1
0x201C0F05, // 0015 NE R7 R7 K5
0x781E0005, // 0016 JMPF R7 #001D
0x941C0B06, // 0017 GETIDX R7 R5 K6
0x201C0F07, // 0018 NE R7 R7 K7
0x781E0002, // 0019 JMPF R7 #001D
0x8C1C0708, // 001A GETMET R7 R3 K8
0x5C240A00, // 001B MOVE R9 R5
0x7C1C0400, // 001C CALL R7 2
0x7001FFED, // 001D JMP #000C
0x58100009, // 001E LDCONST R4 K9
0xAC100200, // 001F CATCH R4 1 0
0xB0080000, // 0020 RAISE 2 R0 R0
0xB8121400, // 0021 GETNGBL R4 K10
0x8C10090B, // 0022 GETMET R4 R4 K11
0x5C180600, // 0023 MOVE R6 R3
0x7C100400, // 0024 CALL R4 2
0x5C0C0800, // 0025 MOVE R3 R4
0x60100012, // 0026 GETGBL R4 G18
0x7C100000, // 0027 CALL R4 0
0x60140010, // 0028 GETGBL R5 G16
0x5C180600, // 0029 MOVE R6 R3
0x7C140200, // 002A CALL R5 1
0xA8020020, // 002B EXBLK 0 #004D
0x5C180A00, // 002C MOVE R6 R5
0x7C180000, // 002D CALL R6 0
0x8C1C0504, // 002E GETMET R7 R2 K4
0x5C240000, // 002F MOVE R9 R0
0x5C280C00, // 0030 MOVE R10 R6
0x7C1C0600, // 0031 CALL R7 3
0x4C200000, // 0032 LDNIL R8
0x1C200E08, // 0033 EQ R8 R7 R8
0x78220000, // 0034 JMPF R8 #0036
0x7001FFF5, // 0035 JMP #002C
0x6020000F, // 0036 GETGBL R8 G15
0x5C240E00, // 0037 MOVE R9 R7
0x60280015, // 0038 GETGBL R10 G21
0x7C200400, // 0039 CALL R8 2
0x78220003, // 003A JMPF R8 #003F
0x8C200F0D, // 003B GETMET R8 R7 K13
0x7C200200, // 003C CALL R8 1
0x00221808, // 003D ADD R8 K12 R8
0x5C1C1000, // 003E MOVE R7 R8
0x8C200908, // 003F GETMET R8 R4 K8
0x60280018, // 0040 GETGBL R10 G24
0x582C000E, // 0041 LDCONST R11 K14
0x8C30030F, // 0042 GETMET R12 R1 K15
0x60380008, // 0043 GETGBL R14 G8
0x5C3C0C00, // 0044 MOVE R15 R6
0x7C380200, // 0045 CALL R14 1
0x7C300400, // 0046 CALL R12 2
0x8C34030F, // 0047 GETMET R13 R1 K15
0x5C3C0E00, // 0048 MOVE R15 R7
0x7C340400, // 0049 CALL R13 2
0x7C280600, // 004A CALL R10 3
0x7C200400, // 004B CALL R8 2
0x7001FFDE, // 004C JMP #002C
0x58140009, // 004D LDCONST R5 K9
0xAC140200, // 004E CATCH R5 1 0
0xB0080000, // 004F RAISE 2 R0 R0
0x60140012, // 0050 GETGBL R5 G18
0x7C140000, // 0051 CALL R5 0
0x60180010, // 0052 GETGBL R6 G16
0x881C0110, // 0053 GETMBR R7 R0 K16
0x8C1C0F11, // 0054 GETMET R7 R7 K17
0x7C1C0200, // 0055 CALL R7 1
0x7C180200, // 0056 CALL R6 1
0xA8020006, // 0057 EXBLK 0 #005F
0x5C1C0C00, // 0058 MOVE R7 R6
0x7C1C0000, // 0059 CALL R7 0
0x8C200B08, // 005A GETMET R8 R5 K8
0x8C280F12, // 005B GETMET R10 R7 K18
0x7C280200, // 005C CALL R10 1
0x7C200400, // 005D CALL R8 2
0x7001FFF8, // 005E JMP #0058
0x58180009, // 005F LDCONST R6 K9
0xAC180200, // 0060 CATCH R6 1 0
0xB0080000, // 0061 RAISE 2 R0 R0
0x6018000C, // 0062 GETGBL R6 G12
0x5C1C0A00, // 0063 MOVE R7 R5
0x7C180200, // 0064 CALL R6 1
0x24180D06, // 0065 GT R6 R6 K6
0x781A0007, // 0066 JMPF R6 #006F
0x8C180B14, // 0067 GETMET R6 R5 K20
0x58200015, // 0068 LDCONST R8 K21
0x7C180400, // 0069 CALL R6 2
0x001A2606, // 006A ADD R6 K19 R6
0x00180D16, // 006B ADD R6 R6 K22
0x8C1C0908, // 006C GETMET R7 R4 K8
0x00262E06, // 006D ADD R9 K23 R6
0x7C1C0400, // 006E CALL R7 2
0x8C180118, // 006F GETMET R6 R0 K24
0x7C180200, // 0070 CALL R6 1
0x8C180914, // 0071 GETMET R6 R4 K20
0x58200015, // 0072 LDCONST R8 K21
0x7C180400, // 0073 CALL R6 2
0x001A3206, // 0074 ADD R6 K25 R6
0x00180D1A, // 0075 ADD R6 R6 K26
0x80040C00, // 0076 RET 1 R6
})
)
);
@ -976,7 +967,7 @@ be_local_closure(Matter_Fabric_get_newest_session, /* name */
********************************************************************/
be_local_closure(Matter_Fabric_before_remove, /* name */
be_nested_proto(
9, /* nstack */
7, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -984,38 +975,35 @@ be_local_closure(Matter_Fabric_before_remove, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[10]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(tasmota),
/* K2 */ be_nested_str_weak(log),
/* K3 */ be_nested_str_weak(format),
/* K4 */ be_nested_str_weak(MTR_X3A_X20_X2DFabric_X20_X20_X20_X20fab_X3D_X27_X25s_X27_X20_X28removed_X29),
/* K5 */ be_nested_str_weak(get_fabric_id),
/* K6 */ be_nested_str_weak(copy),
/* K7 */ be_nested_str_weak(reverse),
/* K8 */ be_nested_str_weak(tohex),
/* K9 */ be_const_int(3),
( &(const bvalue[ 8]) { /* constants */
/* K0 */ be_nested_str_weak(tasmota),
/* K1 */ be_nested_str_weak(log),
/* K2 */ be_nested_str_weak(MTR_X3A_X20_X2DFabric_X20_X20_X20_X20fab_X3D_X27_X25s_X27_X20_X28removed_X29),
/* K3 */ be_nested_str_weak(get_fabric_id),
/* K4 */ be_nested_str_weak(copy),
/* K5 */ be_nested_str_weak(reverse),
/* K6 */ be_nested_str_weak(tohex),
/* K7 */ be_const_int(3),
}),
be_str_weak(before_remove),
&be_const_str_solidified,
( &(const binstruction[17]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xB80A0200, // 0001 GETNGBL R2 K1
0x8C080502, // 0002 GETMET R2 R2 K2
0x8C100303, // 0003 GETMET R4 R1 K3
0x58180004, // 0004 LDCONST R6 K4
0x8C1C0105, // 0005 GETMET R7 R0 K5
0x7C1C0200, // 0006 CALL R7 1
0x8C1C0F06, // 0007 GETMET R7 R7 K6
0x7C1C0200, // 0008 CALL R7 1
0x8C1C0F07, // 0009 GETMET R7 R7 K7
0x7C1C0200, // 000A CALL R7 1
0x8C1C0F08, // 000B GETMET R7 R7 K8
0x7C1C0200, // 000C CALL R7 1
0x7C100600, // 000D CALL R4 3
0x58140009, // 000E LDCONST R5 K9
0x7C080600, // 000F CALL R2 3
0x80000000, // 0010 RET 0
( &(const binstruction[16]) { /* code */
0xB8060000, // 0000 GETNGBL R1 K0
0x8C040301, // 0001 GETMET R1 R1 K1
0x600C0018, // 0002 GETGBL R3 G24
0x58100002, // 0003 LDCONST R4 K2
0x8C140103, // 0004 GETMET R5 R0 K3
0x7C140200, // 0005 CALL R5 1
0x8C140B04, // 0006 GETMET R5 R5 K4
0x7C140200, // 0007 CALL R5 1
0x8C140B05, // 0008 GETMET R5 R5 K5
0x7C140200, // 0009 CALL R5 1
0x8C140B06, // 000A GETMET R5 R5 K6
0x7C140200, // 000B CALL R5 1
0x7C0C0400, // 000C CALL R3 2
0x58100007, // 000D LDCONST R4 K7
0x7C040600, // 000E CALL R1 3
0x80000000, // 000F RET 0
})
)
);
@ -1198,7 +1186,7 @@ be_local_closure(Matter_Fabric_hydrate_post, /* name */
********************************************************************/
be_local_closure(Matter_Fabric_get_admin_vendor_name, /* name */
be_nested_proto(
8, /* nstack */
6, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -1206,18 +1194,16 @@ be_local_closure(Matter_Fabric_get_admin_vendor_name, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 7]) { /* constants */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_nested_str_weak(admin_vendor),
/* K1 */ be_nested_str_weak(),
/* K2 */ be_nested_str_weak(matter),
/* K3 */ be_nested_str_weak(get_vendor_name),
/* K4 */ be_nested_str_weak(string),
/* K5 */ be_nested_str_weak(format),
/* K6 */ be_nested_str_weak(0x_X2504X),
/* K4 */ be_nested_str_weak(0x_X2504X),
}),
be_str_weak(get_admin_vendor_name),
&be_const_str_solidified,
( &(const binstruction[21]) { /* code */
( &(const binstruction[20]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x4C080000, // 0001 LDNIL R2
0x1C080202, // 0002 EQ R2 R1 R2
@ -1231,14 +1217,13 @@ be_local_closure(Matter_Fabric_get_admin_vendor_name, /* name */
0x200C0403, // 000A NE R3 R2 R3
0x780E0001, // 000B JMPF R3 #000E
0x80040400, // 000C RET 1 R2
0x70020005, // 000D JMP #0014
0xA40E0800, // 000E IMPORT R3 K4
0x8C100705, // 000F GETMET R4 R3 K5
0x58180006, // 0010 LDCONST R6 K6
0x5C1C0200, // 0011 MOVE R7 R1
0x7C100600, // 0012 CALL R4 3
0x80040800, // 0013 RET 1 R4
0x80000000, // 0014 RET 0
0x70020004, // 000D JMP #0013
0x600C0018, // 000E GETGBL R3 G24
0x58100004, // 000F LDCONST R4 K4
0x5C140200, // 0010 MOVE R5 R1
0x7C0C0400, // 0011 CALL R3 2
0x80040600, // 0012 RET 1 R3
0x80000000, // 0013 RET 0
})
)
);
@ -1333,7 +1318,7 @@ be_local_closure(Matter_Fabric_set_admin_subject_vendor, /* name */
********************************************************************/
be_local_closure(Matter_Fabric_log_new_fabric, /* name */
be_nested_proto(
10, /* nstack */
8, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -1341,41 +1326,38 @@ be_local_closure(Matter_Fabric_log_new_fabric, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[11]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(tasmota),
/* K2 */ be_nested_str_weak(log),
/* K3 */ be_nested_str_weak(format),
/* K4 */ be_nested_str_weak(MTR_X3A_X20_X2BFabric_X20_X20_X20_X20fab_X3D_X27_X25s_X27_X20vendorid_X3D_X25s),
/* K5 */ be_nested_str_weak(get_fabric_id),
/* K6 */ be_nested_str_weak(copy),
/* K7 */ be_nested_str_weak(reverse),
/* K8 */ be_nested_str_weak(tohex),
/* K9 */ be_nested_str_weak(get_admin_vendor_name),
/* K10 */ be_const_int(3),
( &(const bvalue[ 9]) { /* constants */
/* K0 */ be_nested_str_weak(tasmota),
/* K1 */ be_nested_str_weak(log),
/* K2 */ be_nested_str_weak(MTR_X3A_X20_X2BFabric_X20_X20_X20_X20fab_X3D_X27_X25s_X27_X20vendorid_X3D_X25s),
/* K3 */ be_nested_str_weak(get_fabric_id),
/* K4 */ be_nested_str_weak(copy),
/* K5 */ be_nested_str_weak(reverse),
/* K6 */ be_nested_str_weak(tohex),
/* K7 */ be_nested_str_weak(get_admin_vendor_name),
/* K8 */ be_const_int(3),
}),
be_str_weak(log_new_fabric),
&be_const_str_solidified,
( &(const binstruction[19]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xB80A0200, // 0001 GETNGBL R2 K1
0x8C080502, // 0002 GETMET R2 R2 K2
0x8C100303, // 0003 GETMET R4 R1 K3
0x58180004, // 0004 LDCONST R6 K4
0x8C1C0105, // 0005 GETMET R7 R0 K5
0x7C1C0200, // 0006 CALL R7 1
0x8C1C0F06, // 0007 GETMET R7 R7 K6
0x7C1C0200, // 0008 CALL R7 1
0x8C1C0F07, // 0009 GETMET R7 R7 K7
0x7C1C0200, // 000A CALL R7 1
0x8C1C0F08, // 000B GETMET R7 R7 K8
0x7C1C0200, // 000C CALL R7 1
0x8C200109, // 000D GETMET R8 R0 K9
0x7C200200, // 000E CALL R8 1
0x7C100800, // 000F CALL R4 4
0x5814000A, // 0010 LDCONST R5 K10
0x7C080600, // 0011 CALL R2 3
0x80000000, // 0012 RET 0
( &(const binstruction[18]) { /* code */
0xB8060000, // 0000 GETNGBL R1 K0
0x8C040301, // 0001 GETMET R1 R1 K1
0x600C0018, // 0002 GETGBL R3 G24
0x58100002, // 0003 LDCONST R4 K2
0x8C140103, // 0004 GETMET R5 R0 K3
0x7C140200, // 0005 CALL R5 1
0x8C140B04, // 0006 GETMET R5 R5 K4
0x7C140200, // 0007 CALL R5 1
0x8C140B05, // 0008 GETMET R5 R5 K5
0x7C140200, // 0009 CALL R5 1
0x8C140B06, // 000A GETMET R5 R5 K6
0x7C140200, // 000B CALL R5 1
0x8C180107, // 000C GETMET R6 R0 K7
0x7C180200, // 000D CALL R6 1
0x7C0C0600, // 000E CALL R3 3
0x58100008, // 000F LDCONST R4 K8
0x7C040600, // 0010 CALL R1 3
0x80000000, // 0011 RET 0
})
)
);

View File

@ -507,7 +507,7 @@ be_local_closure(Matter_HTTP_async_parse_http_payload, /* name */
********************************************************************/
be_local_closure(Matter_HTTP_async_send_http, /* name */
be_nested_proto(
9, /* nstack */
8, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -515,7 +515,7 @@ be_local_closure(Matter_HTTP_async_send_http, /* 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(string),
/* K1 */ be_nested_str_weak(response),
/* K2 */ be_nested_str_weak(),
@ -525,15 +525,14 @@ be_local_closure(Matter_HTTP_async_send_http, /* name */
/* K6 */ be_const_int(0),
/* K7 */ be_nested_str_weak(_X5B),
/* K8 */ be_nested_str_weak(_X5D),
/* K9 */ be_nested_str_weak(format),
/* K10 */ be_nested_str_weak(HTTP_GET),
/* K11 */ be_nested_str_weak(cmd),
/* K12 */ be_nested_str_weak(port),
/* K13 */ be_nested_str_weak(write),
/* K14 */ be_nested_str_weak(close),
/* K15 */ be_nested_str_weak(status),
/* K16 */ be_nested_str_weak(http_status),
/* K17 */ be_nested_str_weak(event_http_failed),
/* K9 */ be_nested_str_weak(HTTP_GET),
/* K10 */ be_nested_str_weak(cmd),
/* K11 */ be_nested_str_weak(port),
/* K12 */ be_nested_str_weak(write),
/* K13 */ be_nested_str_weak(close),
/* K14 */ be_nested_str_weak(status),
/* K15 */ be_nested_str_weak(http_status),
/* K16 */ be_nested_str_weak(event_http_failed),
}),
be_str_weak(send_http),
&be_const_str_solidified,
@ -550,13 +549,13 @@ be_local_closure(Matter_HTTP_async_send_http, /* name */
0x000E0E02, // 0009 ADD R3 K7 R2
0x000C0708, // 000A ADD R3 R3 K8
0x5C080600, // 000B MOVE R2 R3
0x8C0C0309, // 000C GETMET R3 R1 K9
0x8814010A, // 000D GETMBR R5 R0 K10
0x8818010B, // 000E GETMBR R6 R0 K11
0x5C1C0400, // 000F MOVE R7 R2
0x8820010C, // 0010 GETMBR R8 R0 K12
0x7C0C0A00, // 0011 CALL R3 5
0x8C10010D, // 0012 GETMET R4 R0 K13
0x600C0018, // 000C GETGBL R3 G24
0x88100109, // 000D GETMBR R4 R0 K9
0x8814010A, // 000E GETMBR R5 R0 K10
0x5C180400, // 000F MOVE R6 R2
0x881C010B, // 0010 GETMBR R7 R0 K11
0x7C0C0800, // 0011 CALL R3 4
0x8C10010C, // 0012 GETMET R4 R0 K12
0x5C180600, // 0013 MOVE R6 R3
0x7C100400, // 0014 CALL R4 2
0x6014000C, // 0015 GETGBL R5 G12
@ -564,13 +563,13 @@ be_local_closure(Matter_HTTP_async_send_http, /* name */
0x7C140200, // 0017 CALL R5 1
0x20140805, // 0018 NE R5 R4 R5
0x78160007, // 0019 JMPF R5 #0022
0x8C14010E, // 001A GETMET R5 R0 K14
0x8C14010D, // 001A GETMET R5 R0 K13
0x7C140200, // 001B CALL R5 1
0x5415FFFB, // 001C LDINT R5 -4
0x90021E05, // 001D SETMBR R0 K15 R5
0x90021C05, // 001D SETMBR R0 K14 R5
0x5415FFFE, // 001E LDINT R5 -1
0x90022005, // 001F SETMBR R0 K16 R5
0x8C140111, // 0020 GETMET R5 R0 K17
0x90021E05, // 001F SETMBR R0 K15 R5
0x8C140110, // 0020 GETMET R5 R0 K16
0x7C140200, // 0021 CALL R5 1
0x80000000, // 0022 RET 0
})

View File

@ -52,7 +52,7 @@ be_local_closure(Matter_HTTP_remote_device_is_alive, /* name */
********************************************************************/
be_local_closure(Matter_HTTP_remote_call_sync, /* name */
be_nested_proto(
17, /* nstack */
16, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
@ -60,7 +60,7 @@ be_local_closure(Matter_HTTP_remote_call_sync, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[25]) { /* constants */
( &(const bvalue[24]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(webserver),
/* K2 */ be_nested_str_weak(tasmota),
@ -73,19 +73,18 @@ be_local_closure(Matter_HTTP_remote_call_sync, /* name */
/* K9 */ be_nested_str_weak(_X20),
/* K10 */ be_nested_str_weak(_X2B),
/* K11 */ be_nested_str_weak(log),
/* K12 */ be_nested_str_weak(format),
/* K13 */ be_nested_str_weak(MTR_X3A_X20HTTP_X20sync_X20request_X20_X27http_X3A_X2F_X2F_X25s_X3A_X25i_X25s_X27),
/* K14 */ be_nested_str_weak(addr),
/* K15 */ be_nested_str_weak(port),
/* K16 */ be_const_int(3),
/* K17 */ be_nested_str_weak(begin_sync),
/* K18 */ be_nested_str_weak(nil),
/* K19 */ be_const_int(0),
/* K20 */ be_nested_str_weak(_X2E_X2E_X2E),
/* K21 */ be_nested_str_weak(MTR_X3A_X20HTTP_X20sync_X2Dresp_X20_X20in_X20_X25i_X20ms_X20from_X20_X25s_X3A_X20_X5B_X25i_X5D_X20_X27_X25s_X27),
/* K22 */ be_nested_str_weak(millis),
/* K23 */ be_nested_str_weak(time_start),
/* K24 */ be_nested_str_weak(payload),
/* K12 */ be_nested_str_weak(MTR_X3A_X20HTTP_X20sync_X20request_X20_X27http_X3A_X2F_X2F_X25s_X3A_X25i_X25s_X27),
/* K13 */ be_nested_str_weak(addr),
/* K14 */ be_nested_str_weak(port),
/* K15 */ be_const_int(3),
/* K16 */ be_nested_str_weak(begin_sync),
/* K17 */ be_nested_str_weak(nil),
/* K18 */ be_const_int(0),
/* K19 */ be_nested_str_weak(_X2E_X2E_X2E),
/* K20 */ be_nested_str_weak(MTR_X3A_X20HTTP_X20sync_X2Dresp_X20_X20in_X20_X25i_X20ms_X20from_X20_X25s_X3A_X20_X5B_X25i_X5D_X20_X27_X25s_X27),
/* K21 */ be_nested_str_weak(millis),
/* K22 */ be_nested_str_weak(time_start),
/* K23 */ be_nested_str_weak(payload),
}),
be_str_weak(call_sync),
&be_const_str_solidified,
@ -114,25 +113,25 @@ be_local_closure(Matter_HTTP_remote_call_sync, /* name */
0x00160E05, // 0015 ADD R5 K7 R5
0xB81A0400, // 0016 GETNGBL R6 K2
0x8C180D0B, // 0017 GETMET R6 R6 K11
0x8C20070C, // 0018 GETMET R8 R3 K12
0x5828000D, // 0019 LDCONST R10 K13
0x882C010E, // 001A GETMBR R11 R0 K14
0x8830010F, // 001B GETMBR R12 R0 K15
0x5C340A00, // 001C MOVE R13 R5
0x7C200A00, // 001D CALL R8 5
0x58240010, // 001E LDCONST R9 K16
0x60200018, // 0018 GETGBL R8 G24
0x5824000C, // 0019 LDCONST R9 K12
0x8828010D, // 001A GETMBR R10 R0 K13
0x882C010E, // 001B GETMBR R11 R0 K14
0x5C300A00, // 001C MOVE R12 R5
0x7C200800, // 001D CALL R8 4
0x5824000F, // 001E LDCONST R9 K15
0x7C180600, // 001F CALL R6 3
0x60180003, // 0020 GETGBL R6 G3
0x5C1C0000, // 0021 MOVE R7 R0
0x7C180200, // 0022 CALL R6 1
0x8C180D11, // 0023 GETMET R6 R6 K17
0x8C180D10, // 0023 GETMET R6 R6 K16
0x5C200A00, // 0024 MOVE R8 R5
0x5C240400, // 0025 MOVE R9 R2
0x7C180600, // 0026 CALL R6 3
0x781A0001, // 0027 JMPF R6 #002A
0x5C1C0C00, // 0028 MOVE R7 R6
0x70020000, // 0029 JMP #002B
0x581C0012, // 002A LDCONST R7 K18
0x581C0011, // 002A LDCONST R7 K17
0x6020000C, // 002B GETGBL R8 G12
0x5C240E00, // 002C MOVE R9 R7
0x7C200200, // 002D CALL R8 1
@ -140,26 +139,26 @@ be_local_closure(Matter_HTTP_remote_call_sync, /* name */
0x24201009, // 002F GT R8 R8 R9
0x78220004, // 0030 JMPF R8 #0036
0x5422001C, // 0031 LDINT R8 29
0x40222608, // 0032 CONNECT R8 K19 R8
0x40222408, // 0032 CONNECT R8 K18 R8
0x94200E08, // 0033 GETIDX R8 R7 R8
0x00201114, // 0034 ADD R8 R8 K20
0x00201113, // 0034 ADD R8 R8 K19
0x5C1C1000, // 0035 MOVE R7 R8
0xB8220400, // 0036 GETNGBL R8 K2
0x8C20110B, // 0037 GETMET R8 R8 K11
0x8C28070C, // 0038 GETMET R10 R3 K12
0x58300015, // 0039 LDCONST R12 K21
0xB8360400, // 003A GETNGBL R13 K2
0x8C341B16, // 003B GETMET R13 R13 K22
0x7C340200, // 003C CALL R13 1
0x88380117, // 003D GETMBR R14 R0 K23
0x04341A0E, // 003E SUB R13 R13 R14
0x8838010E, // 003F GETMBR R14 R0 K14
0x603C000C, // 0040 GETGBL R15 G12
0x88400118, // 0041 GETMBR R16 R0 K24
0x7C3C0200, // 0042 CALL R15 1
0x5C400E00, // 0043 MOVE R16 R7
0x7C280C00, // 0044 CALL R10 6
0x582C0010, // 0045 LDCONST R11 K16
0x60280018, // 0038 GETGBL R10 G24
0x582C0014, // 0039 LDCONST R11 K20
0xB8320400, // 003A GETNGBL R12 K2
0x8C301915, // 003B GETMET R12 R12 K21
0x7C300200, // 003C CALL R12 1
0x88340116, // 003D GETMBR R13 R0 K22
0x0430180D, // 003E SUB R12 R12 R13
0x8834010D, // 003F GETMBR R13 R0 K13
0x6038000C, // 0040 GETGBL R14 G12
0x883C0117, // 0041 GETMBR R15 R0 K23
0x7C380200, // 0042 CALL R14 1
0x5C3C0E00, // 0043 MOVE R15 R7
0x7C280A00, // 0044 CALL R10 5
0x582C000F, // 0045 LDCONST R11 K15
0x7C200600, // 0046 CALL R8 3
0x80040C00, // 0047 RET 1 R6
})
@ -173,7 +172,7 @@ be_local_closure(Matter_HTTP_remote_call_sync, /* name */
********************************************************************/
be_local_closure(Matter_HTTP_remote_web_last_seen, /* name */
be_nested_proto(
7, /* nstack */
6, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -181,38 +180,36 @@ be_local_closure(Matter_HTTP_remote_web_last_seen, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 8]) { /* constants */
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(string),
/* K2 */ be_nested_str_weak(reachable_utc),
/* K3 */ be_nested_str_weak(tasmota),
/* K4 */ be_nested_str_weak(rtc),
/* K5 */ be_nested_str_weak(utc),
/* K6 */ be_nested_str_weak(matter),
/* K7 */ be_nested_str_weak(seconds_to_dhm),
/* K1 */ be_nested_str_weak(reachable_utc),
/* K2 */ be_nested_str_weak(tasmota),
/* K3 */ be_nested_str_weak(rtc),
/* K4 */ be_nested_str_weak(utc),
/* K5 */ be_nested_str_weak(matter),
/* K6 */ be_nested_str_weak(seconds_to_dhm),
}),
be_str_weak(web_last_seen),
&be_const_str_solidified,
( &(const binstruction[19]) { /* code */
( &(const binstruction[18]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xA40A0200, // 0001 IMPORT R2 K1
0x540DFFFE, // 0002 LDINT R3 -1
0x88100102, // 0003 GETMBR R4 R0 K2
0x4C140000, // 0004 LDNIL R5
0x20100805, // 0005 NE R4 R4 R5
0x78120006, // 0006 JMPF R4 #000E
0xB8120600, // 0007 GETNGBL R4 K3
0x8C100904, // 0008 GETMET R4 R4 K4
0x7C100200, // 0009 CALL R4 1
0x94100905, // 000A GETIDX R4 R4 K5
0x88140102, // 000B GETMBR R5 R0 K2
0x04100805, // 000C SUB R4 R4 R5
0x5C0C0800, // 000D MOVE R3 R4
0xB8120C00, // 000E GETNGBL R4 K6
0x8C100907, // 000F GETMET R4 R4 K7
0x5C180600, // 0010 MOVE R6 R3
0x7C100400, // 0011 CALL R4 2
0x80040800, // 0012 RET 1 R4
0x5409FFFE, // 0001 LDINT R2 -1
0x880C0101, // 0002 GETMBR R3 R0 K1
0x4C100000, // 0003 LDNIL R4
0x200C0604, // 0004 NE R3 R3 R4
0x780E0006, // 0005 JMPF R3 #000D
0xB80E0400, // 0006 GETNGBL R3 K2
0x8C0C0703, // 0007 GETMET R3 R3 K3
0x7C0C0200, // 0008 CALL R3 1
0x940C0704, // 0009 GETIDX R3 R3 K4
0x88100101, // 000A GETMBR R4 R0 K1
0x040C0604, // 000B SUB R3 R3 R4
0x5C080600, // 000C MOVE R2 R3
0xB80E0A00, // 000D GETNGBL R3 K5
0x8C0C0706, // 000E GETMET R3 R3 K6
0x5C140400, // 000F MOVE R5 R2
0x7C0C0400, // 0010 CALL R3 2
0x80040600, // 0011 RET 1 R3
})
)
);
@ -380,7 +377,7 @@ be_local_closure(Matter_HTTP_remote_scheduler, /* name */
********************************************************************/
be_local_closure(Matter_HTTP_remote_event_http_finished, /* name */
be_nested_proto(
12, /* nstack */
10, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -388,73 +385,70 @@ be_local_closure(Matter_HTTP_remote_event_http_finished, /* 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(current_cmd),
/* K1 */ be_nested_str_weak(string),
/* K2 */ be_nested_str_weak(payload),
/* K3 */ be_nested_str_weak(nil),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(_X2E_X2E_X2E),
/* K6 */ be_nested_str_weak(tasmota),
/* K7 */ be_nested_str_weak(log),
/* K8 */ be_nested_str_weak(format),
/* K9 */ be_nested_str_weak(MTR_X3A_X20HTTP_X20async_X2Dresp_X20in_X20_X25i_X20ms_X20from_X20_X25s_X3A_X20_X5B_X25i_X5D_X20_X27_X25s_X27),
/* K10 */ be_nested_str_weak(millis),
/* K11 */ be_nested_str_weak(time_start),
/* K12 */ be_nested_str_weak(addr),
/* K13 */ be_const_int(3),
/* K14 */ be_nested_str_weak(dispatch_cb),
/* K15 */ be_nested_str_weak(http_status),
/* K1 */ be_nested_str_weak(payload),
/* K2 */ be_nested_str_weak(nil),
/* K3 */ be_const_int(0),
/* K4 */ be_nested_str_weak(_X2E_X2E_X2E),
/* K5 */ be_nested_str_weak(tasmota),
/* K6 */ be_nested_str_weak(log),
/* K7 */ be_nested_str_weak(MTR_X3A_X20HTTP_X20async_X2Dresp_X20in_X20_X25i_X20ms_X20from_X20_X25s_X3A_X20_X5B_X25i_X5D_X20_X27_X25s_X27),
/* K8 */ be_nested_str_weak(millis),
/* K9 */ be_nested_str_weak(time_start),
/* K10 */ be_nested_str_weak(addr),
/* K11 */ be_const_int(3),
/* K12 */ be_nested_str_weak(dispatch_cb),
/* K13 */ be_nested_str_weak(http_status),
}),
be_str_weak(event_http_finished),
&be_const_str_solidified,
( &(const binstruction[46]) { /* code */
( &(const binstruction[45]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x4C080000, // 0001 LDNIL R2
0x1C040202, // 0002 EQ R1 R1 R2
0x78060000, // 0003 JMPF R1 #0005
0x80000200, // 0004 RET 0
0xA4060200, // 0005 IMPORT R1 K1
0x88080102, // 0006 GETMBR R2 R0 K2
0x4C0C0000, // 0007 LDNIL R3
0x20080403, // 0008 NE R2 R2 R3
0x780A0001, // 0009 JMPF R2 #000C
0x88080102, // 000A GETMBR R2 R0 K2
0x70020000, // 000B JMP #000D
0x58080003, // 000C LDCONST R2 K3
0x600C000C, // 000D GETGBL R3 G12
0x5C100400, // 000E MOVE R4 R2
0x7C0C0200, // 000F CALL R3 1
0x5412001D, // 0010 LDINT R4 30
0x240C0604, // 0011 GT R3 R3 R4
0x780E0004, // 0012 JMPF R3 #0018
0x540E001C, // 0013 LDINT R3 29
0x400E0803, // 0014 CONNECT R3 K4 R3
0x940C0403, // 0015 GETIDX R3 R2 R3
0x000C0705, // 0016 ADD R3 R3 K5
0x5C080600, // 0017 MOVE R2 R3
0xB80E0C00, // 0018 GETNGBL R3 K6
0x8C0C0707, // 0019 GETMET R3 R3 K7
0x8C140308, // 001A GETMET R5 R1 K8
0x581C0009, // 001B LDCONST R7 K9
0xB8220C00, // 001C GETNGBL R8 K6
0x8C20110A, // 001D GETMET R8 R8 K10
0x7C200200, // 001E CALL R8 1
0x8824010B, // 001F GETMBR R9 R0 K11
0x04201009, // 0020 SUB R8 R8 R9
0x8824010C, // 0021 GETMBR R9 R0 K12
0x6028000C, // 0022 GETGBL R10 G12
0x882C0102, // 0023 GETMBR R11 R0 K2
0x7C280200, // 0024 CALL R10 1
0x5C2C0400, // 0025 MOVE R11 R2
0x7C140C00, // 0026 CALL R5 6
0x5818000D, // 0027 LDCONST R6 K13
0x7C0C0600, // 0028 CALL R3 3
0x8C0C010E, // 0029 GETMET R3 R0 K14
0x8814010F, // 002A GETMBR R5 R0 K15
0x88180102, // 002B GETMBR R6 R0 K2
0x7C0C0600, // 002C CALL R3 3
0x80000000, // 002D RET 0
0x88040101, // 0005 GETMBR R1 R0 K1
0x4C080000, // 0006 LDNIL R2
0x20040202, // 0007 NE R1 R1 R2
0x78060001, // 0008 JMPF R1 #000B
0x88040101, // 0009 GETMBR R1 R0 K1
0x70020000, // 000A JMP #000C
0x58040002, // 000B LDCONST R1 K2
0x6008000C, // 000C GETGBL R2 G12
0x5C0C0200, // 000D MOVE R3 R1
0x7C080200, // 000E CALL R2 1
0x540E001D, // 000F LDINT R3 30
0x24080403, // 0010 GT R2 R2 R3
0x780A0004, // 0011 JMPF R2 #0017
0x540A001C, // 0012 LDINT R2 29
0x400A0602, // 0013 CONNECT R2 K3 R2
0x94080202, // 0014 GETIDX R2 R1 R2
0x00080504, // 0015 ADD R2 R2 K4
0x5C040400, // 0016 MOVE R1 R2
0xB80A0A00, // 0017 GETNGBL R2 K5
0x8C080506, // 0018 GETMET R2 R2 K6
0x60100018, // 0019 GETGBL R4 G24
0x58140007, // 001A LDCONST R5 K7
0xB81A0A00, // 001B GETNGBL R6 K5
0x8C180D08, // 001C GETMET R6 R6 K8
0x7C180200, // 001D CALL R6 1
0x881C0109, // 001E GETMBR R7 R0 K9
0x04180C07, // 001F SUB R6 R6 R7
0x881C010A, // 0020 GETMBR R7 R0 K10
0x6020000C, // 0021 GETGBL R8 G12
0x88240101, // 0022 GETMBR R9 R0 K1
0x7C200200, // 0023 CALL R8 1
0x5C240200, // 0024 MOVE R9 R1
0x7C100A00, // 0025 CALL R4 5
0x5814000B, // 0026 LDCONST R5 K11
0x7C080600, // 0027 CALL R2 3
0x8C08010C, // 0028 GETMET R2 R0 K12
0x8810010D, // 0029 GETMBR R4 R0 K13
0x88140101, // 002A GETMBR R5 R0 K1
0x7C080600, // 002B CALL R2 3
0x80000000, // 002C RET 0
})
)
);
@ -466,7 +460,7 @@ be_local_closure(Matter_HTTP_remote_event_http_finished, /* name */
********************************************************************/
be_local_closure(Matter_HTTP_remote_probe_async, /* name */
be_nested_proto(
13, /* nstack */
12, /* nstack */
2, /* argc */
2, /* varg */
0, /* has upvals */
@ -474,7 +468,7 @@ be_local_closure(Matter_HTTP_remote_probe_async, /* 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(string),
/* K1 */ be_nested_str_weak(webserver),
/* K2 */ be_nested_str_weak(tasmota),
@ -487,12 +481,11 @@ be_local_closure(Matter_HTTP_remote_probe_async, /* name */
/* K9 */ be_nested_str_weak(_X20),
/* K10 */ be_nested_str_weak(_X2B),
/* K11 */ be_nested_str_weak(log),
/* K12 */ be_nested_str_weak(format),
/* K13 */ be_nested_str_weak(MTR_X3A_X20HTTP_X20async_X20request_X20_X27http_X3A_X2F_X2F_X25s_X3A_X25i_X25s_X27),
/* K14 */ be_nested_str_weak(addr),
/* K15 */ be_nested_str_weak(port),
/* K16 */ be_const_int(3),
/* K17 */ be_nested_str_weak(begin),
/* K12 */ be_nested_str_weak(MTR_X3A_X20HTTP_X20async_X20request_X20_X27http_X3A_X2F_X2F_X25s_X3A_X25i_X25s_X27),
/* K13 */ be_nested_str_weak(addr),
/* K14 */ be_nested_str_weak(port),
/* K15 */ be_const_int(3),
/* K16 */ be_nested_str_weak(begin),
}),
be_str_weak(probe_async),
&be_const_str_solidified,
@ -520,15 +513,15 @@ be_local_closure(Matter_HTTP_remote_probe_async, /* name */
0x00120E04, // 0014 ADD R4 K7 R4
0xB8160400, // 0015 GETNGBL R5 K2
0x8C140B0B, // 0016 GETMET R5 R5 K11
0x8C1C050C, // 0017 GETMET R7 R2 K12
0x5824000D, // 0018 LDCONST R9 K13
0x8828010E, // 0019 GETMBR R10 R0 K14
0x882C010F, // 001A GETMBR R11 R0 K15
0x5C300800, // 001B MOVE R12 R4
0x7C1C0A00, // 001C CALL R7 5
0x58200010, // 001D LDCONST R8 K16
0x601C0018, // 0017 GETGBL R7 G24
0x5820000C, // 0018 LDCONST R8 K12
0x8824010D, // 0019 GETMBR R9 R0 K13
0x8828010E, // 001A GETMBR R10 R0 K14
0x5C2C0800, // 001B MOVE R11 R4
0x7C1C0800, // 001C CALL R7 4
0x5820000F, // 001D LDCONST R8 K15
0x7C140600, // 001E CALL R5 3
0x8C140111, // 001F GETMET R5 R0 K17
0x8C140110, // 001F GETMET R5 R0 K16
0x5C1C0800, // 0020 MOVE R7 R4
0x7C140400, // 0021 CALL R5 2
0x80000000, // 0022 RET 0
@ -642,7 +635,7 @@ be_local_closure(Matter_HTTP_remote_event_http_failed, /* name */
********************************************************************/
be_local_closure(Matter_HTTP_remote_event_http_timeout, /* name */
be_nested_proto(
12, /* nstack */
10, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -650,47 +643,44 @@ be_local_closure(Matter_HTTP_remote_event_http_timeout, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[12]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(current_cmd),
/* K2 */ be_nested_str_weak(tasmota),
/* K3 */ be_nested_str_weak(log),
/* K4 */ be_nested_str_weak(format),
/* K5 */ be_nested_str_weak(MTR_X3A_X20HTTP_X20timeout_X20http_status_X3D_X25i_X20phase_X3D_X25i_X20tcp_status_X3D_X25i_X20size_payload_X3D_X25i),
/* K6 */ be_nested_str_weak(http_status),
/* K7 */ be_nested_str_weak(phase),
/* K8 */ be_nested_str_weak(status),
/* K9 */ be_nested_str_weak(payload),
/* K10 */ be_const_int(3),
/* K11 */ be_nested_str_weak(dispatch_cb),
( &(const bvalue[10]) { /* constants */
/* K0 */ be_nested_str_weak(current_cmd),
/* K1 */ be_nested_str_weak(tasmota),
/* K2 */ be_nested_str_weak(log),
/* K3 */ be_nested_str_weak(MTR_X3A_X20HTTP_X20timeout_X20http_status_X3D_X25i_X20phase_X3D_X25i_X20tcp_status_X3D_X25i_X20size_payload_X3D_X25i),
/* K4 */ be_nested_str_weak(http_status),
/* K5 */ be_nested_str_weak(phase),
/* K6 */ be_nested_str_weak(status),
/* K7 */ be_nested_str_weak(payload),
/* K8 */ be_const_int(3),
/* K9 */ be_nested_str_weak(dispatch_cb),
}),
be_str_weak(event_http_timeout),
&be_const_str_solidified,
( &(const binstruction[24]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x88080101, // 0001 GETMBR R2 R0 K1
0x4C0C0000, // 0002 LDNIL R3
0x1C080403, // 0003 EQ R2 R2 R3
0x780A0000, // 0004 JMPF R2 #0006
0x80000400, // 0005 RET 0
0xB80A0400, // 0006 GETNGBL R2 K2
0x8C080503, // 0007 GETMET R2 R2 K3
0x8C100304, // 0008 GETMET R4 R1 K4
0x58180005, // 0009 LDCONST R6 K5
0x881C0106, // 000A GETMBR R7 R0 K6
0x88200107, // 000B GETMBR R8 R0 K7
0x88240108, // 000C GETMBR R9 R0 K8
0x6028000C, // 000D GETGBL R10 G12
0x882C0109, // 000E GETMBR R11 R0 K9
0x7C280200, // 000F CALL R10 1
0x7C100C00, // 0010 CALL R4 6
0x5814000A, // 0011 LDCONST R5 K10
0x7C080600, // 0012 CALL R2 3
0x8C08010B, // 0013 GETMET R2 R0 K11
0x88100106, // 0014 GETMBR R4 R0 K6
0x4C140000, // 0015 LDNIL R5
0x7C080600, // 0016 CALL R2 3
0x80000000, // 0017 RET 0
( &(const binstruction[23]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x4C080000, // 0001 LDNIL R2
0x1C040202, // 0002 EQ R1 R1 R2
0x78060000, // 0003 JMPF R1 #0005
0x80000200, // 0004 RET 0
0xB8060200, // 0005 GETNGBL R1 K1
0x8C040302, // 0006 GETMET R1 R1 K2
0x600C0018, // 0007 GETGBL R3 G24
0x58100003, // 0008 LDCONST R4 K3
0x88140104, // 0009 GETMBR R5 R0 K4
0x88180105, // 000A GETMBR R6 R0 K5
0x881C0106, // 000B GETMBR R7 R0 K6
0x6020000C, // 000C GETGBL R8 G12
0x88240107, // 000D GETMBR R9 R0 K7
0x7C200200, // 000E CALL R8 1
0x7C0C0A00, // 000F CALL R3 5
0x58100008, // 0010 LDCONST R4 K8
0x7C040600, // 0011 CALL R1 3
0x8C040109, // 0012 GETMET R1 R0 K9
0x880C0104, // 0013 GETMBR R3 R0 K4
0x4C100000, // 0014 LDNIL R4
0x7C040600, // 0015 CALL R1 3
0x80000000, // 0016 RET 0
})
)
);

File diff suppressed because it is too large Load Diff

View File

@ -307,7 +307,7 @@ be_local_closure(Matter_AttributePathIB_to_TLV, /* name */
********************************************************************/
be_local_closure(Matter_AttributePathIB_tostring, /* name */
be_nested_proto(
7, /* nstack */
6, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -315,89 +315,86 @@ be_local_closure(Matter_AttributePathIB_tostring, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[16]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(),
/* K2 */ be_nested_str_weak(node),
/* K3 */ be_nested_str_weak(format),
/* K4 */ be_nested_str_weak(node_X3D_X25s_X20),
/* K5 */ be_nested_str_weak(endpoint),
/* K6 */ be_nested_str_weak(_X5B_X2502X_X5D),
/* K7 */ be_nested_str_weak(_X5B_X2A_X2A_X5D),
/* K8 */ be_nested_str_weak(cluster),
/* K9 */ be_nested_str_weak(_X2504X_X2F),
/* K10 */ be_nested_str_weak(_X2A_X2A_X2A_X2A_X2F),
/* K11 */ be_nested_str_weak(attribute),
/* K12 */ be_nested_str_weak(_X2504X),
/* K13 */ be_nested_str_weak(_X2A_X2A_X2A_X2A),
/* K14 */ be_nested_str_weak(Exception_X3E_X20),
/* K15 */ be_nested_str_weak(_X2C_X20),
( &(const bvalue[14]) { /* constants */
/* K0 */ be_nested_str_weak(),
/* K1 */ be_nested_str_weak(node),
/* K2 */ be_nested_str_weak(node_X3D_X25s_X20),
/* K3 */ be_nested_str_weak(endpoint),
/* K4 */ be_nested_str_weak(_X5B_X2502X_X5D),
/* K5 */ be_nested_str_weak(_X5B_X2A_X2A_X5D),
/* K6 */ be_nested_str_weak(cluster),
/* K7 */ be_nested_str_weak(_X2504X_X2F),
/* K8 */ be_nested_str_weak(_X2A_X2A_X2A_X2A_X2F),
/* K9 */ be_nested_str_weak(attribute),
/* K10 */ be_nested_str_weak(_X2504X),
/* K11 */ be_nested_str_weak(_X2A_X2A_X2A_X2A),
/* K12 */ be_nested_str_weak(Exception_X3E_X20),
/* K13 */ be_nested_str_weak(_X2C_X20),
}),
be_str_weak(tostring),
&be_const_str_solidified,
( &(const binstruction[62]) { /* code */
0xA802002D, // 0000 EXBLK 0 #002F
0xA4060000, // 0001 IMPORT R1 K0
0x58080001, // 0002 LDCONST R2 K1
0x880C0102, // 0003 GETMBR R3 R0 K2
0x780E0004, // 0004 JMPF R3 #000A
0x8C0C0303, // 0005 GETMET R3 R1 K3
0x58140004, // 0006 LDCONST R5 K4
0x88180102, // 0007 GETMBR R6 R0 K2
0x7C0C0600, // 0008 CALL R3 3
0x00080403, // 0009 ADD R2 R2 R3
0x880C0105, // 000A GETMBR R3 R0 K5
0x4C100000, // 000B LDNIL R4
0x200C0604, // 000C NE R3 R3 R4
0x780E0004, // 000D JMPF R3 #0013
0x8C0C0303, // 000E GETMET R3 R1 K3
0x58140006, // 000F LDCONST R5 K6
0x88180105, // 0010 GETMBR R6 R0 K5
0x7C0C0600, // 0011 CALL R3 3
0x70020000, // 0012 JMP #0014
0x580C0007, // 0013 LDCONST R3 K7
0x00080403, // 0014 ADD R2 R2 R3
0x880C0108, // 0015 GETMBR R3 R0 K8
0x4C100000, // 0016 LDNIL R4
0x200C0604, // 0017 NE R3 R3 R4
0x780E0004, // 0018 JMPF R3 #001E
0x8C0C0303, // 0019 GETMET R3 R1 K3
0x58140009, // 001A LDCONST R5 K9
0x88180108, // 001B GETMBR R6 R0 K8
0x7C0C0600, // 001C CALL R3 3
0x70020000, // 001D JMP #001F
0x580C000A, // 001E LDCONST R3 K10
0x00080403, // 001F ADD R2 R2 R3
0x880C010B, // 0020 GETMBR R3 R0 K11
0x4C100000, // 0021 LDNIL R4
0x200C0604, // 0022 NE R3 R3 R4
0x780E0004, // 0023 JMPF R3 #0029
0x8C0C0303, // 0024 GETMET R3 R1 K3
0x5814000C, // 0025 LDCONST R5 K12
0x8818010B, // 0026 GETMBR R6 R0 K11
0x7C0C0600, // 0027 CALL R3 3
0x70020000, // 0028 JMP #002A
0x580C000D, // 0029 LDCONST R3 K13
0x00080403, // 002A ADD R2 R2 R3
0xA8040001, // 002B EXBLK 1 1
0x80040400, // 002C RET 1 R2
0xA8040001, // 002D EXBLK 1 1
0x7002000D, // 002E JMP #003D
0xAC040002, // 002F CATCH R1 0 2
0x7002000A, // 0030 JMP #003C
0x600C0008, // 0031 GETGBL R3 G8
0x5C100200, // 0032 MOVE R4 R1
0x7C0C0200, // 0033 CALL R3 1
0x000E1C03, // 0034 ADD R3 K14 R3
0x000C070F, // 0035 ADD R3 R3 K15
0x60100008, // 0036 GETGBL R4 G8
0x5C140400, // 0037 MOVE R5 R2
0x7C100200, // 0038 CALL R4 1
0x000C0604, // 0039 ADD R3 R3 R4
0x80040600, // 003A RET 1 R3
0x70020000, // 003B JMP #003D
0xB0080000, // 003C RAISE 2 R0 R0
0x80000000, // 003D RET 0
( &(const binstruction[61]) { /* code */
0xA802002C, // 0000 EXBLK 0 #002E
0x58040000, // 0001 LDCONST R1 K0
0x88080101, // 0002 GETMBR R2 R0 K1
0x780A0004, // 0003 JMPF R2 #0009
0x60080018, // 0004 GETGBL R2 G24
0x580C0002, // 0005 LDCONST R3 K2
0x88100101, // 0006 GETMBR R4 R0 K1
0x7C080400, // 0007 CALL R2 2
0x00040202, // 0008 ADD R1 R1 R2
0x88080103, // 0009 GETMBR R2 R0 K3
0x4C0C0000, // 000A LDNIL R3
0x20080403, // 000B NE R2 R2 R3
0x780A0004, // 000C JMPF R2 #0012
0x60080018, // 000D GETGBL R2 G24
0x580C0004, // 000E LDCONST R3 K4
0x88100103, // 000F GETMBR R4 R0 K3
0x7C080400, // 0010 CALL R2 2
0x70020000, // 0011 JMP #0013
0x58080005, // 0012 LDCONST R2 K5
0x00040202, // 0013 ADD R1 R1 R2
0x88080106, // 0014 GETMBR R2 R0 K6
0x4C0C0000, // 0015 LDNIL R3
0x20080403, // 0016 NE R2 R2 R3
0x780A0004, // 0017 JMPF R2 #001D
0x60080018, // 0018 GETGBL R2 G24
0x580C0007, // 0019 LDCONST R3 K7
0x88100106, // 001A GETMBR R4 R0 K6
0x7C080400, // 001B CALL R2 2
0x70020000, // 001C JMP #001E
0x58080008, // 001D LDCONST R2 K8
0x00040202, // 001E ADD R1 R1 R2
0x88080109, // 001F GETMBR R2 R0 K9
0x4C0C0000, // 0020 LDNIL R3
0x20080403, // 0021 NE R2 R2 R3
0x780A0004, // 0022 JMPF R2 #0028
0x60080018, // 0023 GETGBL R2 G24
0x580C000A, // 0024 LDCONST R3 K10
0x88100109, // 0025 GETMBR R4 R0 K9
0x7C080400, // 0026 CALL R2 2
0x70020000, // 0027 JMP #0029
0x5808000B, // 0028 LDCONST R2 K11
0x00040202, // 0029 ADD R1 R1 R2
0xA8040001, // 002A EXBLK 1 1
0x80040200, // 002B RET 1 R1
0xA8040001, // 002C EXBLK 1 1
0x7002000D, // 002D JMP #003C
0xAC040002, // 002E CATCH R1 0 2
0x7002000A, // 002F JMP #003B
0x600C0008, // 0030 GETGBL R3 G8
0x5C100200, // 0031 MOVE R4 R1
0x7C0C0200, // 0032 CALL R3 1
0x000E1803, // 0033 ADD R3 K12 R3
0x000C070D, // 0034 ADD R3 R3 K13
0x60100008, // 0035 GETGBL R4 G8
0x5C140400, // 0036 MOVE R5 R2
0x7C100200, // 0037 CALL R4 1
0x000C0604, // 0038 ADD R3 R3 R4
0x80040600, // 0039 RET 1 R3
0x70020000, // 003A JMP #003C
0xB0080000, // 003B RAISE 2 R0 R0
0x80000000, // 003C RET 0
})
)
);

View File

@ -35,7 +35,7 @@ be_local_closure(Matter_IM_Message_status_error_received, /* name */
********************************************************************/
be_local_closure(Matter_IM_Message_send_im, /* name */
be_nested_proto(
13, /* nstack */
11, /* nstack */
2, /* argc */
2, /* varg */
0, /* has upvals */
@ -43,66 +43,63 @@ be_local_closure(Matter_IM_Message_send_im, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[20]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(ready),
/* K2 */ be_nested_str_weak(resp),
/* K3 */ be_nested_str_weak(encode_frame),
/* K4 */ be_nested_str_weak(data),
/* K5 */ be_nested_str_weak(to_TLV),
/* K6 */ be_nested_str_weak(tlv2raw),
/* K7 */ be_nested_str_weak(encrypt),
/* K8 */ be_nested_str_weak(tasmota),
/* K9 */ be_nested_str_weak(log),
/* K10 */ be_nested_str_weak(format),
/* K11 */ be_nested_str_weak(MTR_X3A_X20_X3Csnd_X20_X20_X20_X20_X20_X20_X20_X28_X256i_X29_X20id_X3D_X25i_X20exch_X3D_X25i_X20rack_X3D_X25s),
/* K12 */ be_nested_str_weak(session),
/* K13 */ be_nested_str_weak(local_session_id),
/* K14 */ be_nested_str_weak(message_counter),
/* K15 */ be_nested_str_weak(exchange_id),
/* K16 */ be_nested_str_weak(ack_message_counter),
/* K17 */ be_nested_str_weak(send_response_frame),
/* K18 */ be_nested_str_weak(last_counter),
/* K19 */ be_nested_str_weak(finish),
( &(const bvalue[18]) { /* constants */
/* K0 */ be_nested_str_weak(ready),
/* K1 */ be_nested_str_weak(resp),
/* K2 */ be_nested_str_weak(encode_frame),
/* K3 */ be_nested_str_weak(data),
/* K4 */ be_nested_str_weak(to_TLV),
/* K5 */ be_nested_str_weak(tlv2raw),
/* K6 */ be_nested_str_weak(encrypt),
/* K7 */ be_nested_str_weak(tasmota),
/* K8 */ be_nested_str_weak(log),
/* K9 */ be_nested_str_weak(MTR_X3A_X20_X3Csnd_X20_X20_X20_X20_X20_X20_X20_X28_X256i_X29_X20id_X3D_X25i_X20exch_X3D_X25i_X20rack_X3D_X25s),
/* K10 */ be_nested_str_weak(session),
/* K11 */ be_nested_str_weak(local_session_id),
/* K12 */ be_nested_str_weak(message_counter),
/* K13 */ be_nested_str_weak(exchange_id),
/* K14 */ be_nested_str_weak(ack_message_counter),
/* K15 */ be_nested_str_weak(send_response_frame),
/* K16 */ be_nested_str_weak(last_counter),
/* K17 */ be_nested_str_weak(finish),
}),
be_str_weak(send_im),
&be_const_str_solidified,
( &(const binstruction[35]) { /* code */
0xA40A0000, // 0000 IMPORT R2 K0
0x880C0101, // 0001 GETMBR R3 R0 K1
0x740E0001, // 0002 JMPT R3 #0005
0x500C0000, // 0003 LDBOOL R3 0 0
0x80040600, // 0004 RET 1 R3
0x880C0102, // 0005 GETMBR R3 R0 K2
0x8C100703, // 0006 GETMET R4 R3 K3
0x88180104, // 0007 GETMBR R6 R0 K4
0x8C180D05, // 0008 GETMET R6 R6 K5
0x7C180200, // 0009 CALL R6 1
0x8C180D06, // 000A GETMET R6 R6 K6
0x7C180200, // 000B CALL R6 1
0x7C100400, // 000C CALL R4 2
0x8C100707, // 000D GETMET R4 R3 K7
0x7C100200, // 000E CALL R4 1
0xB8121000, // 000F GETNGBL R4 K8
0x8C100909, // 0010 GETMET R4 R4 K9
0x8C18050A, // 0011 GETMET R6 R2 K10
0x5820000B, // 0012 LDCONST R8 K11
0x8824070C, // 0013 GETMBR R9 R3 K12
0x8824130D, // 0014 GETMBR R9 R9 K13
0x8828070E, // 0015 GETMBR R10 R3 K14
0x882C070F, // 0016 GETMBR R11 R3 K15
0x88300710, // 0017 GETMBR R12 R3 K16
0x7C180C00, // 0018 CALL R6 6
0x541E0003, // 0019 LDINT R7 4
0x7C100600, // 001A CALL R4 3
0x8C100311, // 001B GETMET R4 R1 K17
0x5C180600, // 001C MOVE R6 R3
0x7C100400, // 001D CALL R4 2
0x8810070E, // 001E GETMBR R4 R3 K14
0x90022404, // 001F SETMBR R0 K18 R4
0x50100200, // 0020 LDBOOL R4 1 0
0x90022604, // 0021 SETMBR R0 K19 R4
0x80000000, // 0022 RET 0
( &(const binstruction[34]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x740A0001, // 0001 JMPT R2 #0004
0x50080000, // 0002 LDBOOL R2 0 0
0x80040400, // 0003 RET 1 R2
0x88080101, // 0004 GETMBR R2 R0 K1
0x8C0C0502, // 0005 GETMET R3 R2 K2
0x88140103, // 0006 GETMBR R5 R0 K3
0x8C140B04, // 0007 GETMET R5 R5 K4
0x7C140200, // 0008 CALL R5 1
0x8C140B05, // 0009 GETMET R5 R5 K5
0x7C140200, // 000A CALL R5 1
0x7C0C0400, // 000B CALL R3 2
0x8C0C0506, // 000C GETMET R3 R2 K6
0x7C0C0200, // 000D CALL R3 1
0xB80E0E00, // 000E GETNGBL R3 K7
0x8C0C0708, // 000F GETMET R3 R3 K8
0x60140018, // 0010 GETGBL R5 G24
0x58180009, // 0011 LDCONST R6 K9
0x881C050A, // 0012 GETMBR R7 R2 K10
0x881C0F0B, // 0013 GETMBR R7 R7 K11
0x8820050C, // 0014 GETMBR R8 R2 K12
0x8824050D, // 0015 GETMBR R9 R2 K13
0x8828050E, // 0016 GETMBR R10 R2 K14
0x7C140A00, // 0017 CALL R5 5
0x541A0003, // 0018 LDINT R6 4
0x7C0C0600, // 0019 CALL R3 3
0x8C0C030F, // 001A GETMET R3 R1 K15
0x5C140400, // 001B MOVE R5 R2
0x7C0C0400, // 001C CALL R3 2
0x880C050C, // 001D GETMBR R3 R2 K12
0x90022003, // 001E SETMBR R0 K16 R3
0x500C0200, // 001F LDBOOL R3 1 0
0x90022203, // 0020 SETMBR R0 K17 R3
0x80000000, // 0021 RET 0
})
)
);
@ -254,7 +251,7 @@ be_local_closure(Matter_IM_Message_reached_timeout, /* name */
********************************************************************/
be_local_closure(Matter_IM_Message_status_ok_received, /* name */
be_nested_proto(
8, /* nstack */
7, /* nstack */
2, /* argc */
2, /* varg */
0, /* has upvals */
@ -262,41 +259,39 @@ be_local_closure(Matter_IM_Message_status_ok_received, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[10]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(expiration),
/* K2 */ be_nested_str_weak(tasmota),
/* K3 */ be_nested_str_weak(millis),
/* K4 */ be_nested_str_weak(MSG_TIMEOUT),
/* K5 */ be_nested_str_weak(resp),
/* K6 */ be_nested_str_weak(build_response),
/* K7 */ be_nested_str_weak(opcode),
/* K8 */ be_nested_str_weak(x_flag_r),
/* K9 */ be_nested_str_weak(ready),
( &(const bvalue[ 9]) { /* constants */
/* K0 */ be_nested_str_weak(expiration),
/* K1 */ be_nested_str_weak(tasmota),
/* K2 */ be_nested_str_weak(millis),
/* K3 */ be_nested_str_weak(MSG_TIMEOUT),
/* K4 */ be_nested_str_weak(resp),
/* K5 */ be_nested_str_weak(build_response),
/* K6 */ be_nested_str_weak(opcode),
/* K7 */ be_nested_str_weak(x_flag_r),
/* K8 */ be_nested_str_weak(ready),
}),
be_str_weak(status_ok_received),
&be_const_str_solidified,
( &(const binstruction[20]) { /* code */
0xA40A0000, // 0000 IMPORT R2 K0
0xB80E0400, // 0001 GETNGBL R3 K2
0x8C0C0703, // 0002 GETMET R3 R3 K3
0x7C0C0200, // 0003 CALL R3 1
0x88100104, // 0004 GETMBR R4 R0 K4
0x000C0604, // 0005 ADD R3 R3 R4
0x90020203, // 0006 SETMBR R0 K1 R3
0x78060007, // 0007 JMPF R1 #0010
0x8C0C0306, // 0008 GETMET R3 R1 K6
0x88140105, // 0009 GETMBR R5 R0 K5
0x88140B07, // 000A GETMBR R5 R5 K7
0x88180105, // 000B GETMBR R6 R0 K5
0x88180D08, // 000C GETMBR R6 R6 K8
0x881C0105, // 000D GETMBR R7 R0 K5
0x7C0C0800, // 000E CALL R3 4
0x90020A03, // 000F SETMBR R0 K5 R3
0x500C0200, // 0010 LDBOOL R3 1 0
0x90021203, // 0011 SETMBR R0 K9 R3
0x500C0200, // 0012 LDBOOL R3 1 0
0x80040600, // 0013 RET 1 R3
( &(const binstruction[19]) { /* code */
0xB80A0200, // 0000 GETNGBL R2 K1
0x8C080502, // 0001 GETMET R2 R2 K2
0x7C080200, // 0002 CALL R2 1
0x880C0103, // 0003 GETMBR R3 R0 K3
0x00080403, // 0004 ADD R2 R2 R3
0x90020002, // 0005 SETMBR R0 K0 R2
0x78060007, // 0006 JMPF R1 #000F
0x8C080305, // 0007 GETMET R2 R1 K5
0x88100104, // 0008 GETMBR R4 R0 K4
0x88100906, // 0009 GETMBR R4 R4 K6
0x88140104, // 000A GETMBR R5 R0 K4
0x88140B07, // 000B GETMBR R5 R5 K7
0x88180104, // 000C GETMBR R6 R0 K4
0x7C080800, // 000D CALL R2 4
0x90020802, // 000E SETMBR R0 K4 R2
0x50080200, // 000F LDBOOL R2 1 0
0x90021002, // 0010 SETMBR R0 K8 R2
0x50080200, // 0011 LDBOOL R2 1 0
0x80040400, // 0012 RET 1 R2
})
)
);
@ -528,7 +523,7 @@ extern const bclass be_class_Matter_IM_ReportData;
********************************************************************/
be_local_closure(Matter_IM_ReportData_send_im, /* name */
be_nested_proto(
13, /* nstack */
12, /* nstack */
2, /* argc */
2, /* varg */
0, /* has upvals */
@ -536,97 +531,95 @@ be_local_closure(Matter_IM_ReportData_send_im, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[18]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(ready),
/* K2 */ be_nested_str_weak(resp),
/* K3 */ be_nested_str_weak(data),
/* K4 */ be_nested_str_weak(more_chunked_messages),
/* K5 */ be_const_int(1),
/* K6 */ be_nested_str_weak(attribute_reports),
/* K7 */ be_const_int(2147483647),
/* K8 */ be_const_int(0),
/* K9 */ be_nested_str_weak(to_TLV),
/* K10 */ be_nested_str_weak(tlv2raw),
/* K11 */ be_nested_str_weak(MAX_MESSAGE),
/* K12 */ be_nested_str_weak(encode_frame),
/* K13 */ be_nested_str_weak(encrypt),
/* K14 */ be_nested_str_weak(send_response_frame),
/* K15 */ be_nested_str_weak(last_counter),
/* K16 */ be_nested_str_weak(message_counter),
/* K17 */ be_nested_str_weak(finish),
( &(const bvalue[17]) { /* constants */
/* K0 */ be_nested_str_weak(ready),
/* K1 */ be_nested_str_weak(resp),
/* K2 */ be_nested_str_weak(data),
/* K3 */ be_nested_str_weak(more_chunked_messages),
/* K4 */ be_const_int(1),
/* K5 */ be_nested_str_weak(attribute_reports),
/* K6 */ be_const_int(2147483647),
/* K7 */ be_const_int(0),
/* K8 */ be_nested_str_weak(to_TLV),
/* K9 */ be_nested_str_weak(tlv2raw),
/* K10 */ be_nested_str_weak(MAX_MESSAGE),
/* K11 */ be_nested_str_weak(encode_frame),
/* K12 */ be_nested_str_weak(encrypt),
/* K13 */ be_nested_str_weak(send_response_frame),
/* K14 */ be_nested_str_weak(last_counter),
/* K15 */ be_nested_str_weak(message_counter),
/* K16 */ be_nested_str_weak(finish),
}),
be_str_weak(send_im),
&be_const_str_solidified,
( &(const binstruction[68]) { /* code */
0xA40A0000, // 0000 IMPORT R2 K0
0x880C0101, // 0001 GETMBR R3 R0 K1
0x740E0001, // 0002 JMPT R3 #0005
0x500C0000, // 0003 LDBOOL R3 0 0
0x80040600, // 0004 RET 1 R3
( &(const binstruction[67]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x740A0001, // 0001 JMPT R2 #0004
0x50080000, // 0002 LDBOOL R2 0 0
0x80040400, // 0003 RET 1 R2
0x88080101, // 0004 GETMBR R2 R0 K1
0x880C0102, // 0005 GETMBR R3 R0 K2
0x88100103, // 0006 GETMBR R4 R0 K3
0x88140904, // 0007 GETMBR R5 R4 K4
0x58180005, // 0008 LDCONST R6 K5
0x4C1C0000, // 0009 LDNIL R7
0x88200906, // 000A GETMBR R8 R4 K6
0x4C240000, // 000B LDNIL R9
0x20201009, // 000C NE R8 R8 R9
0x7822000D, // 000D JMPF R8 #001C
0x40200D07, // 000E CONNECT R8 R6 K7
0x88240906, // 000F GETMBR R9 R4 K6
0x941C1208, // 0010 GETIDX R7 R9 R8
0x04280D05, // 0011 SUB R10 R6 K5
0x402A100A, // 0012 CONNECT R10 K8 R10
0x882C0906, // 0013 GETMBR R11 R4 K6
0x9428160A, // 0014 GETIDX R10 R11 R10
0x90120C0A, // 0015 SETMBR R4 K6 R10
0x6028000C, // 0016 GETGBL R10 G12
0x5C2C0E00, // 0017 MOVE R11 R7
0x7C280200, // 0018 CALL R10 1
0x24281508, // 0019 GT R10 R10 K8
0x9012080A, // 001A SETMBR R4 K4 R10
0x70020001, // 001B JMP #001E
0x50200000, // 001C LDBOOL R8 0 0
0x90120808, // 001D SETMBR R4 K4 R8
0x7815FFFF, // 001E JMPF R5 #001F
0x88200904, // 001F GETMBR R8 R4 K4
0x78220001, // 0020 JMPF R8 #0023
0x5C200A00, // 0021 MOVE R8 R5
0x7421FFFF, // 0022 JMPT R8 #0023
0x88200103, // 0023 GETMBR R8 R0 K3
0x8C201109, // 0024 GETMET R8 R8 K9
0x7C200200, // 0025 CALL R8 1
0x8C24110A, // 0026 GETMET R9 R8 K10
0x602C0015, // 0027 GETGBL R11 G21
0x8830010B, // 0028 GETMBR R12 R0 K11
0x7C2C0200, // 0029 CALL R11 1
0x7C240400, // 002A CALL R9 2
0x8C28070C, // 002B GETMET R10 R3 K12
0x5C301200, // 002C MOVE R12 R9
0x7C280400, // 002D CALL R10 2
0x8C28070D, // 002E GETMET R10 R3 K13
0x7C280200, // 002F CALL R10 1
0x8C28030E, // 0030 GETMET R10 R1 K14
0x5C300600, // 0031 MOVE R12 R3
0x7C280400, // 0032 CALL R10 2
0x88280710, // 0033 GETMBR R10 R3 K16
0x90021E0A, // 0034 SETMBR R0 K15 R10
0x4C280000, // 0035 LDNIL R10
0x20280E0A, // 0036 NE R10 R7 R10
0x782A0008, // 0037 JMPF R10 #0041
0x6028000C, // 0038 GETGBL R10 G12
0x5C2C0E00, // 0039 MOVE R11 R7
0x7C280200, // 003A CALL R10 1
0x24281508, // 003B GT R10 R10 K8
0x782A0003, // 003C JMPF R10 #0041
0x90120C07, // 003D SETMBR R4 K6 R7
0x50280000, // 003E LDBOOL R10 0 0
0x9002020A, // 003F SETMBR R0 K1 R10
0x70020001, // 0040 JMP #0043
0x50280200, // 0041 LDBOOL R10 1 0
0x9002220A, // 0042 SETMBR R0 K17 R10
0x80000000, // 0043 RET 0
0x88100703, // 0006 GETMBR R4 R3 K3
0x58140004, // 0007 LDCONST R5 K4
0x4C180000, // 0008 LDNIL R6
0x881C0705, // 0009 GETMBR R7 R3 K5
0x4C200000, // 000A LDNIL R8
0x201C0E08, // 000B NE R7 R7 R8
0x781E000D, // 000C JMPF R7 #001B
0x401C0B06, // 000D CONNECT R7 R5 K6
0x88200705, // 000E GETMBR R8 R3 K5
0x94181007, // 000F GETIDX R6 R8 R7
0x04240B04, // 0010 SUB R9 R5 K4
0x40260E09, // 0011 CONNECT R9 K7 R9
0x88280705, // 0012 GETMBR R10 R3 K5
0x94241409, // 0013 GETIDX R9 R10 R9
0x900E0A09, // 0014 SETMBR R3 K5 R9
0x6024000C, // 0015 GETGBL R9 G12
0x5C280C00, // 0016 MOVE R10 R6
0x7C240200, // 0017 CALL R9 1
0x24241307, // 0018 GT R9 R9 K7
0x900E0609, // 0019 SETMBR R3 K3 R9
0x70020001, // 001A JMP #001D
0x501C0000, // 001B LDBOOL R7 0 0
0x900E0607, // 001C SETMBR R3 K3 R7
0x7811FFFF, // 001D JMPF R4 #001E
0x881C0703, // 001E GETMBR R7 R3 K3
0x781E0001, // 001F JMPF R7 #0022
0x5C1C0800, // 0020 MOVE R7 R4
0x741DFFFF, // 0021 JMPT R7 #0022
0x881C0102, // 0022 GETMBR R7 R0 K2
0x8C1C0F08, // 0023 GETMET R7 R7 K8
0x7C1C0200, // 0024 CALL R7 1
0x8C200F09, // 0025 GETMET R8 R7 K9
0x60280015, // 0026 GETGBL R10 G21
0x882C010A, // 0027 GETMBR R11 R0 K10
0x7C280200, // 0028 CALL R10 1
0x7C200400, // 0029 CALL R8 2
0x8C24050B, // 002A GETMET R9 R2 K11
0x5C2C1000, // 002B MOVE R11 R8
0x7C240400, // 002C CALL R9 2
0x8C24050C, // 002D GETMET R9 R2 K12
0x7C240200, // 002E CALL R9 1
0x8C24030D, // 002F GETMET R9 R1 K13
0x5C2C0400, // 0030 MOVE R11 R2
0x7C240400, // 0031 CALL R9 2
0x8824050F, // 0032 GETMBR R9 R2 K15
0x90021C09, // 0033 SETMBR R0 K14 R9
0x4C240000, // 0034 LDNIL R9
0x20240C09, // 0035 NE R9 R6 R9
0x78260008, // 0036 JMPF R9 #0040
0x6024000C, // 0037 GETGBL R9 G12
0x5C280C00, // 0038 MOVE R10 R6
0x7C240200, // 0039 CALL R9 1
0x24241307, // 003A GT R9 R9 K7
0x78260003, // 003B JMPF R9 #0040
0x900E0A06, // 003C SETMBR R3 K5 R6
0x50240000, // 003D LDBOOL R9 0 0
0x90020009, // 003E SETMBR R0 K0 R9
0x70020001, // 003F JMP #0042
0x50240200, // 0040 LDBOOL R9 1 0
0x90022009, // 0041 SETMBR R0 K16 R9
0x80000000, // 0042 RET 0
})
)
);
@ -748,7 +741,7 @@ be_local_closure(Matter_IM_ReportDataSubscribed_ack_received, /* name */
********************************************************************/
be_local_closure(Matter_IM_ReportDataSubscribed_send_im, /* name */
be_nested_proto(
12, /* nstack */
10, /* nstack */
2, /* argc */
2, /* varg */
0, /* has upvals */
@ -756,103 +749,100 @@ be_local_closure(Matter_IM_ReportDataSubscribed_send_im, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[22]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(ready),
/* K2 */ be_nested_str_weak(data),
/* K3 */ be_nested_str_weak(attribute_reports),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(report_data_phase),
/* K6 */ be_nested_str_weak(send_im),
/* K7 */ be_nested_str_weak(finish),
/* K8 */ be_nested_str_weak(resp),
/* K9 */ be_nested_str_weak(build_standalone_ack),
/* K10 */ be_nested_str_weak(encode_frame),
/* K11 */ be_nested_str_weak(encrypt),
/* K12 */ be_nested_str_weak(tasmota),
/* K13 */ be_nested_str_weak(log),
/* K14 */ be_nested_str_weak(format),
/* K15 */ be_nested_str_weak(MTR_X3A_X20_X3CAck_X20_X20_X20_X20_X20_X20_X20_X28_X256i_X29_X20ack_X3D_X25i_X20id_X3D_X25i),
/* K16 */ be_nested_str_weak(session),
/* K17 */ be_nested_str_weak(local_session_id),
/* K18 */ be_nested_str_weak(ack_message_counter),
/* K19 */ be_nested_str_weak(message_counter),
/* K20 */ be_nested_str_weak(send_response_frame),
/* K21 */ be_nested_str_weak(last_counter),
( &(const bvalue[20]) { /* constants */
/* K0 */ be_nested_str_weak(ready),
/* K1 */ be_nested_str_weak(data),
/* K2 */ be_nested_str_weak(attribute_reports),
/* K3 */ be_const_int(0),
/* K4 */ be_nested_str_weak(report_data_phase),
/* K5 */ be_nested_str_weak(send_im),
/* K6 */ be_nested_str_weak(finish),
/* K7 */ be_nested_str_weak(resp),
/* K8 */ be_nested_str_weak(build_standalone_ack),
/* K9 */ be_nested_str_weak(encode_frame),
/* K10 */ be_nested_str_weak(encrypt),
/* K11 */ be_nested_str_weak(tasmota),
/* K12 */ be_nested_str_weak(log),
/* K13 */ be_nested_str_weak(MTR_X3A_X20_X3CAck_X20_X20_X20_X20_X20_X20_X20_X28_X256i_X29_X20ack_X3D_X25i_X20id_X3D_X25i),
/* K14 */ be_nested_str_weak(session),
/* K15 */ be_nested_str_weak(local_session_id),
/* K16 */ be_nested_str_weak(ack_message_counter),
/* K17 */ be_nested_str_weak(message_counter),
/* K18 */ be_nested_str_weak(send_response_frame),
/* K19 */ be_nested_str_weak(last_counter),
}),
be_str_weak(send_im),
&be_const_str_solidified,
( &(const binstruction[70]) { /* code */
0xA40A0000, // 0000 IMPORT R2 K0
0x880C0101, // 0001 GETMBR R3 R0 K1
0x740E0001, // 0002 JMPT R3 #0005
0x500C0000, // 0003 LDBOOL R3 0 0
0x80040600, // 0004 RET 1 R3
0x600C000C, // 0005 GETGBL R3 G12
0x88100102, // 0006 GETMBR R4 R0 K2
0x88100903, // 0007 GETMBR R4 R4 K3
0x7C0C0200, // 0008 CALL R3 1
0x240C0704, // 0009 GT R3 R3 K4
0x780E002C, // 000A JMPF R3 #0038
0x880C0105, // 000B GETMBR R3 R0 K5
0x780E000F, // 000C JMPF R3 #001D
0x600C0003, // 000D GETGBL R3 G3
0x5C100000, // 000E MOVE R4 R0
0x7C0C0200, // 000F CALL R3 1
0x8C0C0706, // 0010 GETMET R3 R3 K6
0x5C140200, // 0011 MOVE R5 R1
0x7C0C0400, // 0012 CALL R3 2
0x880C0107, // 0013 GETMBR R3 R0 K7
0x740E0000, // 0014 JMPT R3 #0016
0x80000600, // 0015 RET 0
0x500C0000, // 0016 LDBOOL R3 0 0
0x90020A03, // 0017 SETMBR R0 K5 R3
0x500C0000, // 0018 LDBOOL R3 0 0
0x90020203, // 0019 SETMBR R0 K1 R3
0x500C0000, // 001A LDBOOL R3 0 0
0x90020E03, // 001B SETMBR R0 K7 R3
0x70020019, // 001C JMP #0037
0x880C0108, // 001D GETMBR R3 R0 K8
0x8C0C0709, // 001E GETMET R3 R3 K9
0x50140000, // 001F LDBOOL R5 0 0
0x7C0C0400, // 0020 CALL R3 2
0x8C10070A, // 0021 GETMET R4 R3 K10
0x7C100200, // 0022 CALL R4 1
0x8C10070B, // 0023 GETMET R4 R3 K11
0x7C100200, // 0024 CALL R4 1
0xB8121800, // 0025 GETNGBL R4 K12
0x8C10090D, // 0026 GETMET R4 R4 K13
0x8C18050E, // 0027 GETMET R6 R2 K14
0x5820000F, // 0028 LDCONST R8 K15
0x88240710, // 0029 GETMBR R9 R3 K16
0x88241311, // 002A GETMBR R9 R9 K17
0x88280712, // 002B GETMBR R10 R3 K18
0x882C0713, // 002C GETMBR R11 R3 K19
0x7C180A00, // 002D CALL R6 5
0x541E0003, // 002E LDINT R7 4
0x7C100600, // 002F CALL R4 3
0x8C100314, // 0030 GETMET R4 R1 K20
0x5C180600, // 0031 MOVE R6 R3
0x7C100400, // 0032 CALL R4 2
0x88100713, // 0033 GETMBR R4 R3 K19
0x90022A04, // 0034 SETMBR R0 K21 R4
0x50100200, // 0035 LDBOOL R4 1 0
0x90020E04, // 0036 SETMBR R0 K7 R4
0x7002000C, // 0037 JMP #0045
0x880C0105, // 0038 GETMBR R3 R0 K5
0x780E0008, // 0039 JMPF R3 #0043
0x600C0003, // 003A GETGBL R3 G3
0x5C100000, // 003B MOVE R4 R0
0x7C0C0200, // 003C CALL R3 1
0x8C0C0706, // 003D GETMET R3 R3 K6
0x5C140200, // 003E MOVE R5 R1
0x7C0C0400, // 003F CALL R3 2
0x500C0000, // 0040 LDBOOL R3 0 0
0x90020A03, // 0041 SETMBR R0 K5 R3
0x70020001, // 0042 JMP #0045
0x500C0200, // 0043 LDBOOL R3 1 0
0x90020E03, // 0044 SETMBR R0 K7 R3
0x80000000, // 0045 RET 0
( &(const binstruction[69]) { /* code */
0x88080100, // 0000 GETMBR R2 R0 K0
0x740A0001, // 0001 JMPT R2 #0004
0x50080000, // 0002 LDBOOL R2 0 0
0x80040400, // 0003 RET 1 R2
0x6008000C, // 0004 GETGBL R2 G12
0x880C0101, // 0005 GETMBR R3 R0 K1
0x880C0702, // 0006 GETMBR R3 R3 K2
0x7C080200, // 0007 CALL R2 1
0x24080503, // 0008 GT R2 R2 K3
0x780A002C, // 0009 JMPF R2 #0037
0x88080104, // 000A GETMBR R2 R0 K4
0x780A000F, // 000B JMPF R2 #001C
0x60080003, // 000C GETGBL R2 G3
0x5C0C0000, // 000D MOVE R3 R0
0x7C080200, // 000E CALL R2 1
0x8C080505, // 000F GETMET R2 R2 K5
0x5C100200, // 0010 MOVE R4 R1
0x7C080400, // 0011 CALL R2 2
0x88080106, // 0012 GETMBR R2 R0 K6
0x740A0000, // 0013 JMPT R2 #0015
0x80000400, // 0014 RET 0
0x50080000, // 0015 LDBOOL R2 0 0
0x90020802, // 0016 SETMBR R0 K4 R2
0x50080000, // 0017 LDBOOL R2 0 0
0x90020002, // 0018 SETMBR R0 K0 R2
0x50080000, // 0019 LDBOOL R2 0 0
0x90020C02, // 001A SETMBR R0 K6 R2
0x70020019, // 001B JMP #0036
0x88080107, // 001C GETMBR R2 R0 K7
0x8C080508, // 001D GETMET R2 R2 K8
0x50100000, // 001E LDBOOL R4 0 0
0x7C080400, // 001F CALL R2 2
0x8C0C0509, // 0020 GETMET R3 R2 K9
0x7C0C0200, // 0021 CALL R3 1
0x8C0C050A, // 0022 GETMET R3 R2 K10
0x7C0C0200, // 0023 CALL R3 1
0xB80E1600, // 0024 GETNGBL R3 K11
0x8C0C070C, // 0025 GETMET R3 R3 K12
0x60140018, // 0026 GETGBL R5 G24
0x5818000D, // 0027 LDCONST R6 K13
0x881C050E, // 0028 GETMBR R7 R2 K14
0x881C0F0F, // 0029 GETMBR R7 R7 K15
0x88200510, // 002A GETMBR R8 R2 K16
0x88240511, // 002B GETMBR R9 R2 K17
0x7C140800, // 002C CALL R5 4
0x541A0003, // 002D LDINT R6 4
0x7C0C0600, // 002E CALL R3 3
0x8C0C0312, // 002F GETMET R3 R1 K18
0x5C140400, // 0030 MOVE R5 R2
0x7C0C0400, // 0031 CALL R3 2
0x880C0511, // 0032 GETMBR R3 R2 K17
0x90022603, // 0033 SETMBR R0 K19 R3
0x500C0200, // 0034 LDBOOL R3 1 0
0x90020C03, // 0035 SETMBR R0 K6 R3
0x7002000C, // 0036 JMP #0044
0x88080104, // 0037 GETMBR R2 R0 K4
0x780A0008, // 0038 JMPF R2 #0042
0x60080003, // 0039 GETGBL R2 G3
0x5C0C0000, // 003A MOVE R3 R0
0x7C080200, // 003B CALL R2 1
0x8C080505, // 003C GETMET R2 R2 K5
0x5C100200, // 003D MOVE R4 R1
0x7C080400, // 003E CALL R2 2
0x50080000, // 003F LDBOOL R2 0 0
0x90020802, // 0040 SETMBR R0 K4 R2
0x70020001, // 0041 JMP #0044
0x50080200, // 0042 LDBOOL R2 1 0
0x90020C02, // 0043 SETMBR R0 K6 R2
0x80000000, // 0044 RET 0
})
)
);
@ -1345,7 +1335,7 @@ be_local_closure(Matter_IM_SubscribeResponse_init, /* name */
********************************************************************/
be_local_closure(Matter_IM_SubscribeResponse_status_ok_received, /* name */
be_nested_proto(
10, /* nstack */
8, /* nstack */
2, /* argc */
2, /* varg */
0, /* has upvals */
@ -1353,41 +1343,38 @@ be_local_closure(Matter_IM_SubscribeResponse_status_ok_received, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[11]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(tasmota),
/* K2 */ be_nested_str_weak(log),
/* K3 */ be_nested_str_weak(format),
/* K4 */ be_nested_str_weak(MTR_X3A_X20_X3ESub_OK_X20_X20_X20_X20_X28_X256i_X29_X20sub_X3D_X25i),
/* K5 */ be_nested_str_weak(session),
/* K6 */ be_nested_str_weak(local_session_id),
/* K7 */ be_nested_str_weak(sub),
/* K8 */ be_nested_str_weak(subscription_id),
/* K9 */ be_const_int(3),
/* K10 */ be_nested_str_weak(status_ok_received),
( &(const bvalue[ 9]) { /* constants */
/* K0 */ be_nested_str_weak(tasmota),
/* K1 */ be_nested_str_weak(log),
/* K2 */ be_nested_str_weak(MTR_X3A_X20_X3ESub_OK_X20_X20_X20_X20_X28_X256i_X29_X20sub_X3D_X25i),
/* K3 */ be_nested_str_weak(session),
/* K4 */ be_nested_str_weak(local_session_id),
/* K5 */ be_nested_str_weak(sub),
/* K6 */ be_nested_str_weak(subscription_id),
/* K7 */ be_const_int(3),
/* K8 */ be_nested_str_weak(status_ok_received),
}),
be_str_weak(status_ok_received),
&be_const_str_solidified,
( &(const binstruction[19]) { /* code */
0xA40A0000, // 0000 IMPORT R2 K0
0xB80E0200, // 0001 GETNGBL R3 K1
0x8C0C0702, // 0002 GETMET R3 R3 K2
0x8C140503, // 0003 GETMET R5 R2 K3
0x581C0004, // 0004 LDCONST R7 K4
0x88200305, // 0005 GETMBR R8 R1 K5
0x88201106, // 0006 GETMBR R8 R8 K6
0x88240107, // 0007 GETMBR R9 R0 K7
0x88241308, // 0008 GETMBR R9 R9 K8
0x7C140800, // 0009 CALL R5 4
0x58180009, // 000A LDCONST R6 K9
0x7C0C0600, // 000B CALL R3 3
0x600C0003, // 000C GETGBL R3 G3
0x5C100000, // 000D MOVE R4 R0
0x7C0C0200, // 000E CALL R3 1
0x8C0C070A, // 000F GETMET R3 R3 K10
0x5C140200, // 0010 MOVE R5 R1
0x7C0C0400, // 0011 CALL R3 2
0x80040600, // 0012 RET 1 R3
( &(const binstruction[18]) { /* code */
0xB80A0000, // 0000 GETNGBL R2 K0
0x8C080501, // 0001 GETMET R2 R2 K1
0x60100018, // 0002 GETGBL R4 G24
0x58140002, // 0003 LDCONST R5 K2
0x88180303, // 0004 GETMBR R6 R1 K3
0x88180D04, // 0005 GETMBR R6 R6 K4
0x881C0105, // 0006 GETMBR R7 R0 K5
0x881C0F06, // 0007 GETMBR R7 R7 K6
0x7C100600, // 0008 CALL R4 3
0x58140007, // 0009 LDCONST R5 K7
0x7C080600, // 000A CALL R2 3
0x60080003, // 000B GETGBL R2 G3
0x5C0C0000, // 000C MOVE R3 R0
0x7C080200, // 000D CALL R2 1
0x8C080508, // 000E GETMET R2 R2 K8
0x5C100200, // 000F MOVE R4 R1
0x7C080400, // 0010 CALL R2 2
0x80040400, // 0011 RET 1 R2
})
)
);

View File

@ -323,7 +323,7 @@ be_local_closure(Matter_IM_Subscription_attribute_updated_ctx, /* name */
********************************************************************/
be_local_closure(Matter_IM_Subscription_re_arm, /* name */
be_nested_proto(
9, /* nstack */
7, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -331,57 +331,54 @@ be_local_closure(Matter_IM_Subscription_re_arm, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[16]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(wait_status),
/* K2 */ be_nested_str_weak(tasmota),
/* K3 */ be_nested_str_weak(millis),
/* K4 */ be_nested_str_weak(expiration),
/* K5 */ be_nested_str_weak(max_interval),
/* K6 */ be_nested_str_weak(MAX_INTERVAL_MARGIN),
/* K7 */ be_nested_str_weak(not_before),
/* K8 */ be_nested_str_weak(min_interval),
/* K9 */ be_const_int(1),
/* K10 */ be_nested_str_weak(is_keep_alive),
/* K11 */ be_nested_str_weak(log),
/* K12 */ be_nested_str_weak(format),
/* K13 */ be_nested_str_weak(MTR_X3A_X20_X2ESub_Done_X20_X20_X28_X20_X20_X20_X20_X20_X20_X29_X20sub_X3D_X25i),
/* K14 */ be_nested_str_weak(subscription_id),
/* K15 */ be_const_int(3),
( &(const bvalue[14]) { /* constants */
/* K0 */ be_nested_str_weak(wait_status),
/* K1 */ be_nested_str_weak(tasmota),
/* K2 */ be_nested_str_weak(millis),
/* K3 */ be_nested_str_weak(expiration),
/* K4 */ be_nested_str_weak(max_interval),
/* K5 */ be_nested_str_weak(MAX_INTERVAL_MARGIN),
/* K6 */ be_nested_str_weak(not_before),
/* K7 */ be_nested_str_weak(min_interval),
/* K8 */ be_const_int(1),
/* K9 */ be_nested_str_weak(is_keep_alive),
/* K10 */ be_nested_str_weak(log),
/* K11 */ be_nested_str_weak(MTR_X3A_X20_X2ESub_Done_X20_X20_X28_X20_X20_X20_X20_X20_X20_X29_X20sub_X3D_X25i),
/* K12 */ be_nested_str_weak(subscription_id),
/* K13 */ be_const_int(3),
}),
be_str_weak(re_arm),
&be_const_str_solidified,
( &(const binstruction[30]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x50080000, // 0001 LDBOOL R2 0 0
0x90020202, // 0002 SETMBR R0 K1 R2
0xB80A0400, // 0003 GETNGBL R2 K2
0x8C080503, // 0004 GETMET R2 R2 K3
0x7C080200, // 0005 CALL R2 1
( &(const binstruction[29]) { /* code */
0x50040000, // 0000 LDBOOL R1 0 0
0x90020001, // 0001 SETMBR R0 K0 R1
0xB8060200, // 0002 GETNGBL R1 K1
0x8C040302, // 0003 GETMET R1 R1 K2
0x7C040200, // 0004 CALL R1 1
0x88080104, // 0005 GETMBR R2 R0 K4
0x880C0105, // 0006 GETMBR R3 R0 K5
0x88100106, // 0007 GETMBR R4 R0 K6
0x040C0604, // 0008 SUB R3 R3 R4
0x541203E7, // 0009 LDINT R4 1000
0x080C0604, // 000A MUL R3 R3 R4
0x000C0403, // 000B ADD R3 R2 R3
0x90020803, // 000C SETMBR R0 K4 R3
0x880C0108, // 000D GETMBR R3 R0 K8
0x541203E7, // 000E LDINT R4 1000
0x080C0604, // 000F MUL R3 R3 R4
0x000C0403, // 0010 ADD R3 R2 R3
0x040C0709, // 0011 SUB R3 R3 K9
0x90020E03, // 0012 SETMBR R0 K7 R3
0x880C010A, // 0013 GETMBR R3 R0 K10
0x740E0007, // 0014 JMPT R3 #001D
0xB80E0400, // 0015 GETNGBL R3 K2
0x8C0C070B, // 0016 GETMET R3 R3 K11
0x8C14030C, // 0017 GETMET R5 R1 K12
0x581C000D, // 0018 LDCONST R7 K13
0x8820010E, // 0019 GETMBR R8 R0 K14
0x7C140600, // 001A CALL R5 3
0x5818000F, // 001B LDCONST R6 K15
0x7C0C0600, // 001C CALL R3 3
0x80000000, // 001D RET 0
0x04080403, // 0007 SUB R2 R2 R3
0x540E03E7, // 0008 LDINT R3 1000
0x08080403, // 0009 MUL R2 R2 R3
0x00080202, // 000A ADD R2 R1 R2
0x90020602, // 000B SETMBR R0 K3 R2
0x88080107, // 000C GETMBR R2 R0 K7
0x540E03E7, // 000D LDINT R3 1000
0x08080403, // 000E MUL R2 R2 R3
0x00080202, // 000F ADD R2 R1 R2
0x04080508, // 0010 SUB R2 R2 K8
0x90020C02, // 0011 SETMBR R0 K6 R2
0x88080109, // 0012 GETMBR R2 R0 K9
0x740A0007, // 0013 JMPT R2 #001C
0xB80A0200, // 0014 GETNGBL R2 K1
0x8C08050A, // 0015 GETMET R2 R2 K10
0x60100018, // 0016 GETGBL R4 G24
0x5814000B, // 0017 LDCONST R5 K11
0x8818010C, // 0018 GETMBR R6 R0 K12
0x7C100400, // 0019 CALL R4 2
0x5814000D, // 001A LDCONST R5 K13
0x7C080600, // 001B CALL R2 3
0x80000000, // 001C RET 0
})
)
);

View File

@ -348,7 +348,7 @@ be_local_closure(Matter_Frame_debug, /* name */
********************************************************************/
be_local_closure(Matter_Frame_build_standalone_ack, /* name */
be_nested_proto(
6, /* nstack */
5, /* nstack */
2, /* argc */
2, /* varg */
0, /* has upvals */
@ -356,79 +356,77 @@ be_local_closure(Matter_Frame_build_standalone_ack, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[22]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(message_handler),
/* K2 */ be_nested_str_weak(remote_ip),
/* K3 */ be_nested_str_weak(remote_port),
/* K4 */ be_nested_str_weak(flag_s),
/* K5 */ be_nested_str_weak(flag_dsiz),
/* K6 */ be_const_int(1),
/* K7 */ be_nested_str_weak(dest_node_id_8),
/* K8 */ be_nested_str_weak(source_node_id),
/* K9 */ be_const_int(0),
/* K10 */ be_nested_str_weak(session),
/* K11 */ be_nested_str_weak(message_counter),
/* K12 */ be_nested_str_weak(counter_snd_next),
/* K13 */ be_nested_str_weak(local_session_id),
/* K14 */ be_nested_str_weak(initiator_session_id),
/* K15 */ be_nested_str_weak(x_flag_i),
/* K16 */ be_nested_str_weak(opcode),
/* K17 */ be_nested_str_weak(exchange_id),
/* K18 */ be_nested_str_weak(protocol_id),
/* K19 */ be_nested_str_weak(x_flag_a),
/* K20 */ be_nested_str_weak(ack_message_counter),
/* K21 */ be_nested_str_weak(x_flag_r),
( &(const bvalue[21]) { /* constants */
/* K0 */ be_nested_str_weak(message_handler),
/* K1 */ be_nested_str_weak(remote_ip),
/* K2 */ be_nested_str_weak(remote_port),
/* K3 */ be_nested_str_weak(flag_s),
/* K4 */ be_nested_str_weak(flag_dsiz),
/* K5 */ be_const_int(1),
/* K6 */ be_nested_str_weak(dest_node_id_8),
/* K7 */ be_nested_str_weak(source_node_id),
/* K8 */ be_const_int(0),
/* K9 */ be_nested_str_weak(session),
/* K10 */ be_nested_str_weak(message_counter),
/* K11 */ be_nested_str_weak(counter_snd_next),
/* K12 */ be_nested_str_weak(local_session_id),
/* K13 */ be_nested_str_weak(initiator_session_id),
/* K14 */ be_nested_str_weak(x_flag_i),
/* K15 */ be_nested_str_weak(opcode),
/* K16 */ be_nested_str_weak(exchange_id),
/* K17 */ be_nested_str_weak(protocol_id),
/* K18 */ be_nested_str_weak(x_flag_a),
/* K19 */ be_nested_str_weak(ack_message_counter),
/* K20 */ be_nested_str_weak(x_flag_r),
}),
be_str_weak(build_standalone_ack),
&be_const_str_solidified,
( &(const binstruction[46]) { /* code */
0xA40A0000, // 0000 IMPORT R2 K0
0x600C0006, // 0001 GETGBL R3 G6
0x5C100000, // 0002 MOVE R4 R0
0x7C0C0200, // 0003 CALL R3 1
0x88100101, // 0004 GETMBR R4 R0 K1
0x7C0C0200, // 0005 CALL R3 1
0x88100102, // 0006 GETMBR R4 R0 K2
0x900E0404, // 0007 SETMBR R3 K2 R4
0x88100103, // 0008 GETMBR R4 R0 K3
0x900E0604, // 0009 SETMBR R3 K3 R4
0x88100104, // 000A GETMBR R4 R0 K4
0x78120003, // 000B JMPF R4 #0010
0x900E0B06, // 000C SETMBR R3 K5 K6
0x88100108, // 000D GETMBR R4 R0 K8
0x900E0E04, // 000E SETMBR R3 K7 R4
0x70020000, // 000F JMP #0011
0x900E0B09, // 0010 SETMBR R3 K5 K9
0x8810010A, // 0011 GETMBR R4 R0 K10
0x900E1404, // 0012 SETMBR R3 K10 R4
0x8810010A, // 0013 GETMBR R4 R0 K10
0x8C10090C, // 0014 GETMET R4 R4 K12
0x7C100200, // 0015 CALL R4 1
0x900E1604, // 0016 SETMBR R3 K11 R4
0x8810010A, // 0017 GETMBR R4 R0 K10
0x8810090E, // 0018 GETMBR R4 R4 K14
0x900E1A04, // 0019 SETMBR R3 K13 R4
0x8810010F, // 001A GETMBR R4 R0 K15
0x78120001, // 001B JMPF R4 #001E
0x58100009, // 001C LDCONST R4 K9
0x70020000, // 001D JMP #001F
0x58100006, // 001E LDCONST R4 K6
0x900E1E04, // 001F SETMBR R3 K15 R4
0x5412000F, // 0020 LDINT R4 16
0x900E2004, // 0021 SETMBR R3 K16 R4
0x88100111, // 0022 GETMBR R4 R0 K17
0x900E2204, // 0023 SETMBR R3 K17 R4
0x900E2509, // 0024 SETMBR R3 K18 K9
0x900E2706, // 0025 SETMBR R3 K19 K6
0x8810010B, // 0026 GETMBR R4 R0 K11
0x900E2804, // 0027 SETMBR R3 K20 R4
0x78060001, // 0028 JMPF R1 #002B
0x58100006, // 0029 LDCONST R4 K6
0x70020000, // 002A JMP #002C
0x58100009, // 002B LDCONST R4 K9
0x900E2A04, // 002C SETMBR R3 K21 R4
0x80040600, // 002D RET 1 R3
( &(const binstruction[45]) { /* code */
0x60080006, // 0000 GETGBL R2 G6
0x5C0C0000, // 0001 MOVE R3 R0
0x7C080200, // 0002 CALL R2 1
0x880C0100, // 0003 GETMBR R3 R0 K0
0x7C080200, // 0004 CALL R2 1
0x880C0101, // 0005 GETMBR R3 R0 K1
0x900A0203, // 0006 SETMBR R2 K1 R3
0x880C0102, // 0007 GETMBR R3 R0 K2
0x900A0403, // 0008 SETMBR R2 K2 R3
0x880C0103, // 0009 GETMBR R3 R0 K3
0x780E0003, // 000A JMPF R3 #000F
0x900A0905, // 000B SETMBR R2 K4 K5
0x880C0107, // 000C GETMBR R3 R0 K7
0x900A0C03, // 000D SETMBR R2 K6 R3
0x70020000, // 000E JMP #0010
0x900A0908, // 000F SETMBR R2 K4 K8
0x880C0109, // 0010 GETMBR R3 R0 K9
0x900A1203, // 0011 SETMBR R2 K9 R3
0x880C0109, // 0012 GETMBR R3 R0 K9
0x8C0C070B, // 0013 GETMET R3 R3 K11
0x7C0C0200, // 0014 CALL R3 1
0x900A1403, // 0015 SETMBR R2 K10 R3
0x880C0109, // 0016 GETMBR R3 R0 K9
0x880C070D, // 0017 GETMBR R3 R3 K13
0x900A1803, // 0018 SETMBR R2 K12 R3
0x880C010E, // 0019 GETMBR R3 R0 K14
0x780E0001, // 001A JMPF R3 #001D
0x580C0008, // 001B LDCONST R3 K8
0x70020000, // 001C JMP #001E
0x580C0005, // 001D LDCONST R3 K5
0x900A1C03, // 001E SETMBR R2 K14 R3
0x540E000F, // 001F LDINT R3 16
0x900A1E03, // 0020 SETMBR R2 K15 R3
0x880C0110, // 0021 GETMBR R3 R0 K16
0x900A2003, // 0022 SETMBR R2 K16 R3
0x900A2308, // 0023 SETMBR R2 K17 K8
0x900A2505, // 0024 SETMBR R2 K18 K5
0x880C010A, // 0025 GETMBR R3 R0 K10
0x900A2603, // 0026 SETMBR R2 K19 R3
0x78060001, // 0027 JMPF R1 #002A
0x580C0005, // 0028 LDCONST R3 K5
0x70020000, // 0029 JMP #002B
0x580C0008, // 002A LDCONST R3 K8
0x900A2803, // 002B SETMBR R2 K20 R3
0x80040400, // 002C RET 1 R2
})
)
);
@ -440,7 +438,7 @@ be_local_closure(Matter_Frame_build_standalone_ack, /* name */
********************************************************************/
be_local_closure(Matter_Frame_build_response, /* name */
be_nested_proto(
13, /* nstack */
11, /* nstack */
4, /* argc */
2, /* varg */
0, /* has upvals */
@ -448,135 +446,132 @@ be_local_closure(Matter_Frame_build_response, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[32]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(message_handler),
/* K2 */ be_nested_str_weak(remote_ip),
/* K3 */ be_nested_str_weak(remote_port),
/* K4 */ be_nested_str_weak(flag_s),
/* K5 */ be_nested_str_weak(flag_dsiz),
/* K6 */ be_const_int(1),
/* K7 */ be_nested_str_weak(dest_node_id_8),
/* K8 */ be_nested_str_weak(source_node_id),
/* K9 */ be_const_int(0),
/* K10 */ be_nested_str_weak(session),
/* K11 */ be_nested_str_weak(local_session_id),
/* K12 */ be_nested_str_weak(initiator_session_id),
/* K13 */ be_nested_str_weak(message_counter),
/* K14 */ be_nested_str_weak(counter_snd_next),
/* K15 */ be_nested_str_weak(_counter_insecure_snd),
/* K16 */ be_nested_str_weak(next),
/* K17 */ be_nested_str_weak(x_flag_i),
/* K18 */ be_nested_str_weak(opcode),
/* K19 */ be_nested_str_weak(exchange_id),
/* K20 */ be_nested_str_weak(protocol_id),
/* K21 */ be_nested_str_weak(x_flag_r),
/* K22 */ be_nested_str_weak(x_flag_a),
/* K23 */ be_nested_str_weak(ack_message_counter),
/* K24 */ be_nested_str_weak(matter),
/* K25 */ be_nested_str_weak(get_opcode_name),
/* K26 */ be_nested_str_weak(format),
/* K27 */ be_nested_str_weak(0x_X2502X),
/* K28 */ be_nested_str_weak(tasmota),
/* K29 */ be_nested_str_weak(log),
/* K30 */ be_nested_str_weak(MTR_X3A_X20_X3CReplied_X20_X20_X20_X28_X256i_X29_X20_X25s),
/* K31 */ be_const_int(3),
( &(const bvalue[30]) { /* constants */
/* K0 */ be_nested_str_weak(message_handler),
/* K1 */ be_nested_str_weak(remote_ip),
/* K2 */ be_nested_str_weak(remote_port),
/* K3 */ be_nested_str_weak(flag_s),
/* K4 */ be_nested_str_weak(flag_dsiz),
/* K5 */ be_const_int(1),
/* K6 */ be_nested_str_weak(dest_node_id_8),
/* K7 */ be_nested_str_weak(source_node_id),
/* K8 */ be_const_int(0),
/* K9 */ be_nested_str_weak(session),
/* K10 */ be_nested_str_weak(local_session_id),
/* K11 */ be_nested_str_weak(initiator_session_id),
/* K12 */ be_nested_str_weak(message_counter),
/* K13 */ be_nested_str_weak(counter_snd_next),
/* K14 */ be_nested_str_weak(_counter_insecure_snd),
/* K15 */ be_nested_str_weak(next),
/* K16 */ be_nested_str_weak(x_flag_i),
/* K17 */ be_nested_str_weak(opcode),
/* K18 */ be_nested_str_weak(exchange_id),
/* K19 */ be_nested_str_weak(protocol_id),
/* K20 */ be_nested_str_weak(x_flag_r),
/* K21 */ be_nested_str_weak(x_flag_a),
/* K22 */ be_nested_str_weak(ack_message_counter),
/* K23 */ be_nested_str_weak(matter),
/* K24 */ be_nested_str_weak(get_opcode_name),
/* K25 */ be_nested_str_weak(0x_X2502X),
/* K26 */ be_nested_str_weak(tasmota),
/* K27 */ be_nested_str_weak(log),
/* K28 */ be_nested_str_weak(MTR_X3A_X20_X3CReplied_X20_X20_X20_X28_X256i_X29_X20_X25s),
/* K29 */ be_const_int(3),
}),
be_str_weak(build_response),
&be_const_str_solidified,
( &(const binstruction[92]) { /* code */
0xA4120000, // 0000 IMPORT R4 K0
0x4C140000, // 0001 LDNIL R5
0x1C140605, // 0002 EQ R5 R3 R5
0x78160005, // 0003 JMPF R5 #000A
0x60140006, // 0004 GETGBL R5 G6
0x5C180000, // 0005 MOVE R6 R0
0x7C140200, // 0006 CALL R5 1
0x88180101, // 0007 GETMBR R6 R0 K1
0x7C140200, // 0008 CALL R5 1
0x5C0C0A00, // 0009 MOVE R3 R5
0x88140102, // 000A GETMBR R5 R0 K2
0x900E0405, // 000B SETMBR R3 K2 R5
0x88140103, // 000C GETMBR R5 R0 K3
0x900E0605, // 000D SETMBR R3 K3 R5
0x88140104, // 000E GETMBR R5 R0 K4
0x78160003, // 000F JMPF R5 #0014
0x900E0B06, // 0010 SETMBR R3 K5 K6
0x88140108, // 0011 GETMBR R5 R0 K8
0x900E0E05, // 0012 SETMBR R3 K7 R5
0x70020000, // 0013 JMP #0015
0x900E0B09, // 0014 SETMBR R3 K5 K9
0x8814010A, // 0015 GETMBR R5 R0 K10
0x900E1405, // 0016 SETMBR R3 K10 R5
0x8814010B, // 0017 GETMBR R5 R0 K11
0x20140B09, // 0018 NE R5 R5 K9
0x7816000D, // 0019 JMPF R5 #0028
0x8814010A, // 001A GETMBR R5 R0 K10
0x7816000B, // 001B JMPF R5 #0028
0x8814010A, // 001C GETMBR R5 R0 K10
0x88140B0C, // 001D GETMBR R5 R5 K12
0x20140B09, // 001E NE R5 R5 K9
0x78160007, // 001F JMPF R5 #0028
0x8814010A, // 0020 GETMBR R5 R0 K10
0x8C140B0E, // 0021 GETMET R5 R5 K14
0x7C140200, // 0022 CALL R5 1
0x900E1A05, // 0023 SETMBR R3 K13 R5
0x8814010A, // 0024 GETMBR R5 R0 K10
0x88140B0C, // 0025 GETMBR R5 R5 K12
0x900E1605, // 0026 SETMBR R3 K11 R5
0x70020005, // 0027 JMP #002E
0x8814010A, // 0028 GETMBR R5 R0 K10
0x88140B0F, // 0029 GETMBR R5 R5 K15
0x8C140B10, // 002A GETMET R5 R5 K16
0x7C140200, // 002B CALL R5 1
0x900E1A05, // 002C SETMBR R3 K13 R5
0x900E1709, // 002D SETMBR R3 K11 K9
0x88140111, // 002E GETMBR R5 R0 K17
0x78160001, // 002F JMPF R5 #0032
0x58140009, // 0030 LDCONST R5 K9
0x70020000, // 0031 JMP #0033
0x58140006, // 0032 LDCONST R5 K6
0x900E2205, // 0033 SETMBR R3 K17 R5
0x900E2401, // 0034 SETMBR R3 K18 R1
0x88140113, // 0035 GETMBR R5 R0 K19
0x900E2605, // 0036 SETMBR R3 K19 R5
0x88140114, // 0037 GETMBR R5 R0 K20
0x900E2805, // 0038 SETMBR R3 K20 R5
0x88140115, // 0039 GETMBR R5 R0 K21
0x78160002, // 003A JMPF R5 #003E
0x900E2D06, // 003B SETMBR R3 K22 K6
0x8814010D, // 003C GETMBR R5 R0 K13
0x900E2E05, // 003D SETMBR R3 K23 R5
0x780A0001, // 003E JMPF R2 #0041
0x58140006, // 003F LDCONST R5 K6
0x70020000, // 0040 JMP #0042
0x58140009, // 0041 LDCONST R5 K9
0x900E2A05, // 0042 SETMBR R3 K21 R5
0x8814070B, // 0043 GETMBR R5 R3 K11
0x1C140B09, // 0044 EQ R5 R5 K9
0x78160014, // 0045 JMPF R5 #005B
0xB8163000, // 0046 GETNGBL R5 K24
0x8C140B19, // 0047 GETMET R5 R5 K25
0x881C0712, // 0048 GETMBR R7 R3 K18
0x7C140400, // 0049 CALL R5 2
0x5C180A00, // 004A MOVE R6 R5
0x741A0004, // 004B JMPT R6 #0051
0x8C18091A, // 004C GETMET R6 R4 K26
0x5820001B, // 004D LDCONST R8 K27
0x88240712, // 004E GETMBR R9 R3 K18
0x7C180600, // 004F CALL R6 3
0x5C140C00, // 0050 MOVE R5 R6
0xB81A3800, // 0051 GETNGBL R6 K28
0x8C180D1D, // 0052 GETMET R6 R6 K29
0x8C20091A, // 0053 GETMET R8 R4 K26
0x5828001E, // 0054 LDCONST R10 K30
0x882C070A, // 0055 GETMBR R11 R3 K10
0x882C170B, // 0056 GETMBR R11 R11 K11
0x5C300A00, // 0057 MOVE R12 R5
0x7C200800, // 0058 CALL R8 4
0x5824001F, // 0059 LDCONST R9 K31
0x7C180600, // 005A CALL R6 3
0x80040600, // 005B RET 1 R3
( &(const binstruction[91]) { /* code */
0x4C100000, // 0000 LDNIL R4
0x1C100604, // 0001 EQ R4 R3 R4
0x78120005, // 0002 JMPF R4 #0009
0x60100006, // 0003 GETGBL R4 G6
0x5C140000, // 0004 MOVE R5 R0
0x7C100200, // 0005 CALL R4 1
0x88140100, // 0006 GETMBR R5 R0 K0
0x7C100200, // 0007 CALL R4 1
0x5C0C0800, // 0008 MOVE R3 R4
0x88100101, // 0009 GETMBR R4 R0 K1
0x900E0204, // 000A SETMBR R3 K1 R4
0x88100102, // 000B GETMBR R4 R0 K2
0x900E0404, // 000C SETMBR R3 K2 R4
0x88100103, // 000D GETMBR R4 R0 K3
0x78120003, // 000E JMPF R4 #0013
0x900E0905, // 000F SETMBR R3 K4 K5
0x88100107, // 0010 GETMBR R4 R0 K7
0x900E0C04, // 0011 SETMBR R3 K6 R4
0x70020000, // 0012 JMP #0014
0x900E0908, // 0013 SETMBR R3 K4 K8
0x88100109, // 0014 GETMBR R4 R0 K9
0x900E1204, // 0015 SETMBR R3 K9 R4
0x8810010A, // 0016 GETMBR R4 R0 K10
0x20100908, // 0017 NE R4 R4 K8
0x7812000D, // 0018 JMPF R4 #0027
0x88100109, // 0019 GETMBR R4 R0 K9
0x7812000B, // 001A JMPF R4 #0027
0x88100109, // 001B GETMBR R4 R0 K9
0x8810090B, // 001C GETMBR R4 R4 K11
0x20100908, // 001D NE R4 R4 K8
0x78120007, // 001E JMPF R4 #0027
0x88100109, // 001F GETMBR R4 R0 K9
0x8C10090D, // 0020 GETMET R4 R4 K13
0x7C100200, // 0021 CALL R4 1
0x900E1804, // 0022 SETMBR R3 K12 R4
0x88100109, // 0023 GETMBR R4 R0 K9
0x8810090B, // 0024 GETMBR R4 R4 K11
0x900E1404, // 0025 SETMBR R3 K10 R4
0x70020005, // 0026 JMP #002D
0x88100109, // 0027 GETMBR R4 R0 K9
0x8810090E, // 0028 GETMBR R4 R4 K14
0x8C10090F, // 0029 GETMET R4 R4 K15
0x7C100200, // 002A CALL R4 1
0x900E1804, // 002B SETMBR R3 K12 R4
0x900E1508, // 002C SETMBR R3 K10 K8
0x88100110, // 002D GETMBR R4 R0 K16
0x78120001, // 002E JMPF R4 #0031
0x58100008, // 002F LDCONST R4 K8
0x70020000, // 0030 JMP #0032
0x58100005, // 0031 LDCONST R4 K5
0x900E2004, // 0032 SETMBR R3 K16 R4
0x900E2201, // 0033 SETMBR R3 K17 R1
0x88100112, // 0034 GETMBR R4 R0 K18
0x900E2404, // 0035 SETMBR R3 K18 R4
0x88100113, // 0036 GETMBR R4 R0 K19
0x900E2604, // 0037 SETMBR R3 K19 R4
0x88100114, // 0038 GETMBR R4 R0 K20
0x78120002, // 0039 JMPF R4 #003D
0x900E2B05, // 003A SETMBR R3 K21 K5
0x8810010C, // 003B GETMBR R4 R0 K12
0x900E2C04, // 003C SETMBR R3 K22 R4
0x780A0001, // 003D JMPF R2 #0040
0x58100005, // 003E LDCONST R4 K5
0x70020000, // 003F JMP #0041
0x58100008, // 0040 LDCONST R4 K8
0x900E2804, // 0041 SETMBR R3 K20 R4
0x8810070A, // 0042 GETMBR R4 R3 K10
0x1C100908, // 0043 EQ R4 R4 K8
0x78120014, // 0044 JMPF R4 #005A
0xB8122E00, // 0045 GETNGBL R4 K23
0x8C100918, // 0046 GETMET R4 R4 K24
0x88180711, // 0047 GETMBR R6 R3 K17
0x7C100400, // 0048 CALL R4 2
0x5C140800, // 0049 MOVE R5 R4
0x74160004, // 004A JMPT R5 #0050
0x60140018, // 004B GETGBL R5 G24
0x58180019, // 004C LDCONST R6 K25
0x881C0711, // 004D GETMBR R7 R3 K17
0x7C140400, // 004E CALL R5 2
0x5C100A00, // 004F MOVE R4 R5
0xB8163400, // 0050 GETNGBL R5 K26
0x8C140B1B, // 0051 GETMET R5 R5 K27
0x601C0018, // 0052 GETGBL R7 G24
0x5820001C, // 0053 LDCONST R8 K28
0x88240709, // 0054 GETMBR R9 R3 K9
0x8824130A, // 0055 GETMBR R9 R9 K10
0x5C280800, // 0056 MOVE R10 R4
0x7C1C0600, // 0057 CALL R7 3
0x5820001D, // 0058 LDCONST R8 K29
0x7C140600, // 0059 CALL R5 3
0x80040600, // 005A RET 1 R3
})
)
);
@ -588,7 +583,7 @@ be_local_closure(Matter_Frame_build_response, /* name */
********************************************************************/
be_local_closure(Matter_Frame_initiate_response, /* name */
be_nested_proto(
10, /* nstack */
9, /* nstack */
5, /* argc */
4, /* varg */
0, /* has upvals */
@ -596,82 +591,80 @@ be_local_closure(Matter_Frame_initiate_response, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[24]) { /* constants */
( &(const bvalue[23]) { /* constants */
/* K0 */ be_const_class(be_class_Matter_Frame),
/* K1 */ be_nested_str_weak(string),
/* K2 */ be_nested_str_weak(matter),
/* K3 */ be_nested_str_weak(Frame),
/* K4 */ be_nested_str_weak(remote_ip),
/* K5 */ be_nested_str_weak(_ip),
/* K6 */ be_nested_str_weak(remote_port),
/* K7 */ be_nested_str_weak(_port),
/* K8 */ be_nested_str_weak(flag_dsiz),
/* K9 */ be_const_int(0),
/* K10 */ be_nested_str_weak(session),
/* K11 */ be_nested_str_weak(initiator_session_id),
/* K12 */ be_nested_str_weak(message_counter),
/* K13 */ be_nested_str_weak(counter_snd_next),
/* K14 */ be_nested_str_weak(local_session_id),
/* K15 */ be_nested_str_weak(_counter_insecure_snd),
/* K16 */ be_nested_str_weak(next),
/* K17 */ be_nested_str_weak(x_flag_i),
/* K18 */ be_const_int(1),
/* K19 */ be_nested_str_weak(opcode),
/* K20 */ be_nested_str_weak(_exchange_id),
/* K21 */ be_nested_str_weak(exchange_id),
/* K22 */ be_nested_str_weak(protocol_id),
/* K23 */ be_nested_str_weak(x_flag_r),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(Frame),
/* K3 */ be_nested_str_weak(remote_ip),
/* K4 */ be_nested_str_weak(_ip),
/* K5 */ be_nested_str_weak(remote_port),
/* K6 */ be_nested_str_weak(_port),
/* K7 */ be_nested_str_weak(flag_dsiz),
/* K8 */ be_const_int(0),
/* K9 */ be_nested_str_weak(session),
/* K10 */ be_nested_str_weak(initiator_session_id),
/* K11 */ be_nested_str_weak(message_counter),
/* K12 */ be_nested_str_weak(counter_snd_next),
/* K13 */ be_nested_str_weak(local_session_id),
/* K14 */ be_nested_str_weak(_counter_insecure_snd),
/* K15 */ be_nested_str_weak(next),
/* K16 */ be_nested_str_weak(x_flag_i),
/* K17 */ be_const_int(1),
/* K18 */ be_nested_str_weak(opcode),
/* K19 */ be_nested_str_weak(_exchange_id),
/* K20 */ be_nested_str_weak(exchange_id),
/* K21 */ be_nested_str_weak(protocol_id),
/* K22 */ be_nested_str_weak(x_flag_r),
}),
be_str_weak(initiate_response),
&be_const_str_solidified,
( &(const binstruction[47]) { /* code */
( &(const binstruction[46]) { /* code */
0x58140000, // 0000 LDCONST R5 K0
0xA41A0200, // 0001 IMPORT R6 K1
0x4C1C0000, // 0002 LDNIL R7
0x1C1C0807, // 0003 EQ R7 R4 R7
0x781E0004, // 0004 JMPF R7 #000A
0xB81E0400, // 0005 GETNGBL R7 K2
0x8C1C0F03, // 0006 GETMET R7 R7 K3
0x5C240000, // 0007 MOVE R9 R0
0x7C1C0400, // 0008 CALL R7 2
0x5C100E00, // 0009 MOVE R4 R7
0x881C0305, // 000A GETMBR R7 R1 K5
0x90120807, // 000B SETMBR R4 K4 R7
0x881C0307, // 000C GETMBR R7 R1 K7
0x90120C07, // 000D SETMBR R4 K6 R7
0x90121109, // 000E SETMBR R4 K8 K9
0x90121401, // 000F SETMBR R4 K10 R1
0x78060008, // 0010 JMPF R1 #001A
0x881C030B, // 0011 GETMBR R7 R1 K11
0x201C0F09, // 0012 NE R7 R7 K9
0x781E0005, // 0013 JMPF R7 #001A
0x8C1C030D, // 0014 GETMET R7 R1 K13
0x7C1C0200, // 0015 CALL R7 1
0x90121807, // 0016 SETMBR R4 K12 R7
0x881C030B, // 0017 GETMBR R7 R1 K11
0x90121C07, // 0018 SETMBR R4 K14 R7
0x70020004, // 0019 JMP #001F
0x881C030F, // 001A GETMBR R7 R1 K15
0x8C1C0F10, // 001B GETMET R7 R7 K16
0x7C1C0200, // 001C CALL R7 1
0x90121807, // 001D SETMBR R4 K12 R7
0x90121D09, // 001E SETMBR R4 K14 K9
0x90122312, // 001F SETMBR R4 K17 K18
0x90122602, // 0020 SETMBR R4 K19 R2
0x881C0314, // 0021 GETMBR R7 R1 K20
0x001C0F12, // 0022 ADD R7 R7 K18
0x90062807, // 0023 SETMBR R1 K20 R7
0x881C0314, // 0024 GETMBR R7 R1 K20
0x5422FFFF, // 0025 LDINT R8 65536
0x301C0E08, // 0026 OR R7 R7 R8
0x90122A07, // 0027 SETMBR R4 K21 R7
0x90122D12, // 0028 SETMBR R4 K22 K18
0x780E0001, // 0029 JMPF R3 #002C
0x581C0012, // 002A LDCONST R7 K18
0x70020000, // 002B JMP #002D
0x581C0009, // 002C LDCONST R7 K9
0x90122E07, // 002D SETMBR R4 K23 R7
0x80040800, // 002E RET 1 R4
0x4C180000, // 0001 LDNIL R6
0x1C180806, // 0002 EQ R6 R4 R6
0x781A0004, // 0003 JMPF R6 #0009
0xB81A0200, // 0004 GETNGBL R6 K1
0x8C180D02, // 0005 GETMET R6 R6 K2
0x5C200000, // 0006 MOVE R8 R0
0x7C180400, // 0007 CALL R6 2
0x5C100C00, // 0008 MOVE R4 R6
0x88180304, // 0009 GETMBR R6 R1 K4
0x90120606, // 000A SETMBR R4 K3 R6
0x88180306, // 000B GETMBR R6 R1 K6
0x90120A06, // 000C SETMBR R4 K5 R6
0x90120F08, // 000D SETMBR R4 K7 K8
0x90121201, // 000E SETMBR R4 K9 R1
0x78060008, // 000F JMPF R1 #0019
0x8818030A, // 0010 GETMBR R6 R1 K10
0x20180D08, // 0011 NE R6 R6 K8
0x781A0005, // 0012 JMPF R6 #0019
0x8C18030C, // 0013 GETMET R6 R1 K12
0x7C180200, // 0014 CALL R6 1
0x90121606, // 0015 SETMBR R4 K11 R6
0x8818030A, // 0016 GETMBR R6 R1 K10
0x90121A06, // 0017 SETMBR R4 K13 R6
0x70020004, // 0018 JMP #001E
0x8818030E, // 0019 GETMBR R6 R1 K14
0x8C180D0F, // 001A GETMET R6 R6 K15
0x7C180200, // 001B CALL R6 1
0x90121606, // 001C SETMBR R4 K11 R6
0x90121B08, // 001D SETMBR R4 K13 K8
0x90122111, // 001E SETMBR R4 K16 K17
0x90122402, // 001F SETMBR R4 K18 R2
0x88180313, // 0020 GETMBR R6 R1 K19
0x00180D11, // 0021 ADD R6 R6 K17
0x90062606, // 0022 SETMBR R1 K19 R6
0x88180313, // 0023 GETMBR R6 R1 K19
0x541EFFFF, // 0024 LDINT R7 65536
0x30180C07, // 0025 OR R6 R6 R7
0x90122806, // 0026 SETMBR R4 K20 R6
0x90122B11, // 0027 SETMBR R4 K21 K17
0x780E0001, // 0028 JMPF R3 #002B
0x58180011, // 0029 LDCONST R6 K17
0x70020000, // 002A JMP #002C
0x58180008, // 002B LDCONST R6 K8
0x90122C06, // 002C SETMBR R4 K22 R6
0x80040800, // 002D RET 1 R4
})
)
);

View File

@ -11,7 +11,7 @@ extern const bclass be_class_Matter_Path;
********************************************************************/
be_local_closure(Matter_Path_tostring, /* name */
be_nested_proto(
7, /* nstack */
6, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -19,101 +19,98 @@ be_local_closure(Matter_Path_tostring, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[15]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(),
/* K2 */ be_nested_str_weak(endpoint),
/* K3 */ be_nested_str_weak(format),
/* K4 */ be_nested_str_weak(_X5B_X2502X_X5D),
/* K5 */ be_nested_str_weak(_X5B_X2A_X2A_X5D),
/* K6 */ be_nested_str_weak(cluster),
/* K7 */ be_nested_str_weak(_X2504X_X2F),
/* K8 */ be_nested_str_weak(_X2A_X2A_X2A_X2A_X2F),
/* K9 */ be_nested_str_weak(attribute),
/* K10 */ be_nested_str_weak(_X2504X),
/* K11 */ be_nested_str_weak(command),
/* K12 */ be_nested_str_weak(_X2A_X2A_X2A_X2A),
/* K13 */ be_nested_str_weak(Exception_X3E_X20),
/* K14 */ be_nested_str_weak(_X2C_X20),
( &(const bvalue[13]) { /* constants */
/* K0 */ be_nested_str_weak(),
/* K1 */ be_nested_str_weak(endpoint),
/* K2 */ be_nested_str_weak(_X5B_X2502X_X5D),
/* K3 */ be_nested_str_weak(_X5B_X2A_X2A_X5D),
/* K4 */ be_nested_str_weak(cluster),
/* K5 */ be_nested_str_weak(_X2504X_X2F),
/* K6 */ be_nested_str_weak(_X2A_X2A_X2A_X2A_X2F),
/* K7 */ be_nested_str_weak(attribute),
/* K8 */ be_nested_str_weak(_X2504X),
/* K9 */ be_nested_str_weak(command),
/* K10 */ be_nested_str_weak(_X2A_X2A_X2A_X2A),
/* K11 */ be_nested_str_weak(Exception_X3E_X20),
/* K12 */ be_nested_str_weak(_X2C_X20),
}),
be_str_weak(tostring),
&be_const_str_solidified,
( &(const binstruction[75]) { /* code */
0xA802003A, // 0000 EXBLK 0 #003C
0xA4060000, // 0001 IMPORT R1 K0
0x58080001, // 0002 LDCONST R2 K1
0x880C0102, // 0003 GETMBR R3 R0 K2
0x4C100000, // 0004 LDNIL R4
0x200C0604, // 0005 NE R3 R3 R4
0x780E0004, // 0006 JMPF R3 #000C
0x8C0C0303, // 0007 GETMET R3 R1 K3
0x58140004, // 0008 LDCONST R5 K4
0x88180102, // 0009 GETMBR R6 R0 K2
0x7C0C0600, // 000A CALL R3 3
0x70020000, // 000B JMP #000D
0x580C0005, // 000C LDCONST R3 K5
0x00080403, // 000D ADD R2 R2 R3
0x880C0106, // 000E GETMBR R3 R0 K6
0x4C100000, // 000F LDNIL R4
0x200C0604, // 0010 NE R3 R3 R4
0x780E0004, // 0011 JMPF R3 #0017
0x8C0C0303, // 0012 GETMET R3 R1 K3
0x58140007, // 0013 LDCONST R5 K7
0x88180106, // 0014 GETMBR R6 R0 K6
0x7C0C0600, // 0015 CALL R3 3
0x70020000, // 0016 JMP #0018
0x580C0008, // 0017 LDCONST R3 K8
0x00080403, // 0018 ADD R2 R2 R3
0x880C0109, // 0019 GETMBR R3 R0 K9
0x4C100000, // 001A LDNIL R4
0x200C0604, // 001B NE R3 R3 R4
0x780E0004, // 001C JMPF R3 #0022
0x8C0C0303, // 001D GETMET R3 R1 K3
0x5814000A, // 001E LDCONST R5 K10
0x88180109, // 001F GETMBR R6 R0 K9
0x7C0C0600, // 0020 CALL R3 3
0x70020000, // 0021 JMP #0023
0x580C0001, // 0022 LDCONST R3 K1
0x00080403, // 0023 ADD R2 R2 R3
0x880C010B, // 0024 GETMBR R3 R0 K11
0x4C100000, // 0025 LDNIL R4
0x200C0604, // 0026 NE R3 R3 R4
0x780E0004, // 0027 JMPF R3 #002D
0x8C0C0303, // 0028 GETMET R3 R1 K3
0x5814000A, // 0029 LDCONST R5 K10
0x8818010B, // 002A GETMBR R6 R0 K11
0x7C0C0600, // 002B CALL R3 3
0x70020000, // 002C JMP #002E
0x580C0001, // 002D LDCONST R3 K1
0x00080403, // 002E ADD R2 R2 R3
0x880C0109, // 002F GETMBR R3 R0 K9
0x4C100000, // 0030 LDNIL R4
0x1C0C0604, // 0031 EQ R3 R3 R4
0x780E0004, // 0032 JMPF R3 #0038
0x880C010B, // 0033 GETMBR R3 R0 K11
0x4C100000, // 0034 LDNIL R4
0x1C0C0604, // 0035 EQ R3 R3 R4
0x780E0000, // 0036 JMPF R3 #0038
0x0008050C, // 0037 ADD R2 R2 K12
0xA8040001, // 0038 EXBLK 1 1
0x80040400, // 0039 RET 1 R2
0xA8040001, // 003A EXBLK 1 1
0x7002000D, // 003B JMP #004A
0xAC040002, // 003C CATCH R1 0 2
0x7002000A, // 003D JMP #0049
0x600C0008, // 003E GETGBL R3 G8
0x5C100200, // 003F MOVE R4 R1
0x7C0C0200, // 0040 CALL R3 1
0x000E1A03, // 0041 ADD R3 K13 R3
0x000C070E, // 0042 ADD R3 R3 K14
0x60100008, // 0043 GETGBL R4 G8
0x5C140400, // 0044 MOVE R5 R2
0x7C100200, // 0045 CALL R4 1
0x000C0604, // 0046 ADD R3 R3 R4
0x80040600, // 0047 RET 1 R3
0x70020000, // 0048 JMP #004A
0xB0080000, // 0049 RAISE 2 R0 R0
0x80000000, // 004A RET 0
( &(const binstruction[74]) { /* code */
0xA8020039, // 0000 EXBLK 0 #003B
0x58040000, // 0001 LDCONST R1 K0
0x88080101, // 0002 GETMBR R2 R0 K1
0x4C0C0000, // 0003 LDNIL R3
0x20080403, // 0004 NE R2 R2 R3
0x780A0004, // 0005 JMPF R2 #000B
0x60080018, // 0006 GETGBL R2 G24
0x580C0002, // 0007 LDCONST R3 K2
0x88100101, // 0008 GETMBR R4 R0 K1
0x7C080400, // 0009 CALL R2 2
0x70020000, // 000A JMP #000C
0x58080003, // 000B LDCONST R2 K3
0x00040202, // 000C ADD R1 R1 R2
0x88080104, // 000D GETMBR R2 R0 K4
0x4C0C0000, // 000E LDNIL R3
0x20080403, // 000F NE R2 R2 R3
0x780A0004, // 0010 JMPF R2 #0016
0x60080018, // 0011 GETGBL R2 G24
0x580C0005, // 0012 LDCONST R3 K5
0x88100104, // 0013 GETMBR R4 R0 K4
0x7C080400, // 0014 CALL R2 2
0x70020000, // 0015 JMP #0017
0x58080006, // 0016 LDCONST R2 K6
0x00040202, // 0017 ADD R1 R1 R2
0x88080107, // 0018 GETMBR R2 R0 K7
0x4C0C0000, // 0019 LDNIL R3
0x20080403, // 001A NE R2 R2 R3
0x780A0004, // 001B JMPF R2 #0021
0x60080018, // 001C GETGBL R2 G24
0x580C0008, // 001D LDCONST R3 K8
0x88100107, // 001E GETMBR R4 R0 K7
0x7C080400, // 001F CALL R2 2
0x70020000, // 0020 JMP #0022
0x58080000, // 0021 LDCONST R2 K0
0x00040202, // 0022 ADD R1 R1 R2
0x88080109, // 0023 GETMBR R2 R0 K9
0x4C0C0000, // 0024 LDNIL R3
0x20080403, // 0025 NE R2 R2 R3
0x780A0004, // 0026 JMPF R2 #002C
0x60080018, // 0027 GETGBL R2 G24
0x580C0008, // 0028 LDCONST R3 K8
0x88100109, // 0029 GETMBR R4 R0 K9
0x7C080400, // 002A CALL R2 2
0x70020000, // 002B JMP #002D
0x58080000, // 002C LDCONST R2 K0
0x00040202, // 002D ADD R1 R1 R2
0x88080107, // 002E GETMBR R2 R0 K7
0x4C0C0000, // 002F LDNIL R3
0x1C080403, // 0030 EQ R2 R2 R3
0x780A0004, // 0031 JMPF R2 #0037
0x88080109, // 0032 GETMBR R2 R0 K9
0x4C0C0000, // 0033 LDNIL R3
0x1C080403, // 0034 EQ R2 R2 R3
0x780A0000, // 0035 JMPF R2 #0037
0x0004030A, // 0036 ADD R1 R1 K10
0xA8040001, // 0037 EXBLK 1 1
0x80040200, // 0038 RET 1 R1
0xA8040001, // 0039 EXBLK 1 1
0x7002000D, // 003A JMP #0049
0xAC040002, // 003B CATCH R1 0 2
0x7002000A, // 003C JMP #0048
0x600C0008, // 003D GETGBL R3 G8
0x5C100200, // 003E MOVE R4 R1
0x7C0C0200, // 003F CALL R3 1
0x000E1603, // 0040 ADD R3 K11 R3
0x000C070C, // 0041 ADD R3 R3 K12
0x60100008, // 0042 GETGBL R4 G8
0x5C140400, // 0043 MOVE R5 R2
0x7C100200, // 0044 CALL R4 1
0x000C0604, // 0045 ADD R3 R3 R4
0x80040600, // 0046 RET 1 R3
0x70020000, // 0047 JMP #0049
0xB0080000, // 0048 RAISE 2 R0 R0
0x80000000, // 0049 RET 0
})
)
);

View File

@ -11,7 +11,7 @@ extern const bclass be_class_Matter_Plugin_Aggregator;
********************************************************************/
be_local_closure(Matter_Plugin_Aggregator_read_attribute, /* name */
be_nested_proto(
16, /* nstack */
15, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
@ -19,78 +19,76 @@ be_local_closure(Matter_Plugin_Aggregator_read_attribute, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[13]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(attribute),
/* K5 */ be_const_int(3),
/* K6 */ be_nested_str_weak(Matter_TLV_array),
/* K7 */ be_nested_str_weak(device),
/* K8 */ be_nested_str_weak(get_active_endpoints),
/* K9 */ be_nested_str_weak(add_TLV),
/* K10 */ be_nested_str_weak(U2),
/* K11 */ be_nested_str_weak(stop_iteration),
/* K12 */ be_nested_str_weak(read_attribute),
( &(const bvalue[12]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_const_int(3),
/* K5 */ be_nested_str_weak(Matter_TLV_array),
/* K6 */ be_nested_str_weak(device),
/* K7 */ be_nested_str_weak(get_active_endpoints),
/* K8 */ be_nested_str_weak(add_TLV),
/* K9 */ be_nested_str_weak(U2),
/* K10 */ be_nested_str_weak(stop_iteration),
/* K11 */ be_nested_str_weak(read_attribute),
}),
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[54]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0xB8120200, // 0001 GETNGBL R4 K1
0x88100902, // 0002 GETMBR R4 R4 K2
( &(const binstruction[53]) { /* code */
0xB80E0000, // 0000 GETNGBL R3 K0
0x880C0701, // 0001 GETMBR R3 R3 K1
0x88100502, // 0002 GETMBR R4 R2 K2
0x88140503, // 0003 GETMBR R5 R2 K3
0x88180504, // 0004 GETMBR R6 R2 K4
0x541E001C, // 0005 LDINT R7 29
0x1C1C0A07, // 0006 EQ R7 R5 R7
0x781E0024, // 0007 JMPF R7 #002D
0x1C1C0D05, // 0008 EQ R7 R6 K5
0x781E0019, // 0009 JMPF R7 #0024
0x8C1C0906, // 000A GETMET R7 R4 K6
0x7C1C0200, // 000B CALL R7 1
0x88200107, // 000C GETMBR R8 R0 K7
0x8C201108, // 000D GETMET R8 R8 K8
0x50280200, // 000E LDBOOL R10 1 0
0x7C200400, // 000F CALL R8 2
0x60240010, // 0010 GETGBL R9 G16
0x5C281000, // 0011 MOVE R10 R8
0x7C240200, // 0012 CALL R9 1
0xA802000A, // 0013 EXBLK 0 #001F
0x5C281200, // 0014 MOVE R10 R9
0x7C280000, // 0015 CALL R10 0
0x542EFEFF, // 0016 LDINT R11 65280
0x142C140B, // 0017 LT R11 R10 R11
0x782E0004, // 0018 JMPF R11 #001E
0x8C2C0F09, // 0019 GETMET R11 R7 K9
0x4C340000, // 001A LDNIL R13
0x8838090A, // 001B GETMBR R14 R4 K10
0x5C3C1400, // 001C MOVE R15 R10
0x7C2C0800, // 001D CALL R11 4
0x7001FFF4, // 001E JMP #0014
0x5824000B, // 001F LDCONST R9 K11
0xAC240200, // 0020 CATCH R9 1 0
0xB0080000, // 0021 RAISE 2 R0 R0
0x80040E00, // 0022 RET 1 R7
0x70020007, // 0023 JMP #002C
0x601C0003, // 0024 GETGBL R7 G3
0x5C200000, // 0025 MOVE R8 R0
0x7C1C0200, // 0026 CALL R7 1
0x8C1C0F0C, // 0027 GETMET R7 R7 K12
0x5C240200, // 0028 MOVE R9 R1
0x5C280400, // 0029 MOVE R10 R2
0x7C1C0600, // 002A CALL R7 3
0x80040E00, // 002B RET 1 R7
0x70020007, // 002C JMP #0035
0x601C0003, // 002D GETGBL R7 G3
0x5C200000, // 002E MOVE R8 R0
0x7C1C0200, // 002F CALL R7 1
0x8C1C0F0C, // 0030 GETMET R7 R7 K12
0x5C240200, // 0031 MOVE R9 R1
0x5C280400, // 0032 MOVE R10 R2
0x7C1C0600, // 0033 CALL R7 3
0x80040E00, // 0034 RET 1 R7
0x80000000, // 0035 RET 0
0x541A001C, // 0004 LDINT R6 29
0x1C180806, // 0005 EQ R6 R4 R6
0x781A0024, // 0006 JMPF R6 #002C
0x1C180B04, // 0007 EQ R6 R5 K4
0x781A0019, // 0008 JMPF R6 #0023
0x8C180705, // 0009 GETMET R6 R3 K5
0x7C180200, // 000A CALL R6 1
0x881C0106, // 000B GETMBR R7 R0 K6
0x8C1C0F07, // 000C GETMET R7 R7 K7
0x50240200, // 000D LDBOOL R9 1 0
0x7C1C0400, // 000E CALL R7 2
0x60200010, // 000F GETGBL R8 G16
0x5C240E00, // 0010 MOVE R9 R7
0x7C200200, // 0011 CALL R8 1
0xA802000A, // 0012 EXBLK 0 #001E
0x5C241000, // 0013 MOVE R9 R8
0x7C240000, // 0014 CALL R9 0
0x542AFEFF, // 0015 LDINT R10 65280
0x1428120A, // 0016 LT R10 R9 R10
0x782A0004, // 0017 JMPF R10 #001D
0x8C280D08, // 0018 GETMET R10 R6 K8
0x4C300000, // 0019 LDNIL R12
0x88340709, // 001A GETMBR R13 R3 K9
0x5C381200, // 001B MOVE R14 R9
0x7C280800, // 001C CALL R10 4
0x7001FFF4, // 001D JMP #0013
0x5820000A, // 001E LDCONST R8 K10
0xAC200200, // 001F CATCH R8 1 0
0xB0080000, // 0020 RAISE 2 R0 R0
0x80040C00, // 0021 RET 1 R6
0x70020007, // 0022 JMP #002B
0x60180003, // 0023 GETGBL R6 G3
0x5C1C0000, // 0024 MOVE R7 R0
0x7C180200, // 0025 CALL R6 1
0x8C180D0B, // 0026 GETMET R6 R6 K11
0x5C200200, // 0027 MOVE R8 R1
0x5C240400, // 0028 MOVE R9 R2
0x7C180600, // 0029 CALL R6 3
0x80040C00, // 002A RET 1 R6
0x70020007, // 002B JMP #0034
0x60180003, // 002C GETGBL R6 G3
0x5C1C0000, // 002D MOVE R7 R0
0x7C180200, // 002E CALL R6 1
0x8C180D0B, // 002F GETMET R6 R6 K11
0x5C200200, // 0030 MOVE R8 R1
0x5C240400, // 0031 MOVE R9 R2
0x7C180600, // 0032 CALL R6 3
0x80040C00, // 0033 RET 1 R6
0x80000000, // 0034 RET 0
})
)
);

View File

@ -231,7 +231,7 @@ extern const bclass be_class_Matter_Plugin_Bridge_HTTP;
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_HTTP_init, /* name */
be_nested_proto(
10, /* nstack */
9, /* nstack */
4, /* argc */
2, /* varg */
0, /* has upvals */
@ -239,41 +239,39 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_init, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 9]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(init),
/* K2 */ be_nested_str_weak(find),
/* K3 */ be_nested_str_weak(ARG_HTTP),
/* K4 */ be_nested_str_weak(http_remote),
/* K5 */ be_nested_str_weak(device),
/* K6 */ be_nested_str_weak(register_http_remote),
/* K7 */ be_nested_str_weak(PROBE_TIMEOUT),
/* K8 */ be_nested_str_weak(register_cmd_cb),
( &(const bvalue[ 8]) { /* constants */
/* K0 */ be_nested_str_weak(init),
/* K1 */ be_nested_str_weak(find),
/* K2 */ be_nested_str_weak(ARG_HTTP),
/* K3 */ be_nested_str_weak(http_remote),
/* K4 */ be_nested_str_weak(device),
/* K5 */ be_nested_str_weak(register_http_remote),
/* K6 */ be_nested_str_weak(PROBE_TIMEOUT),
/* K7 */ be_nested_str_weak(register_cmd_cb),
}),
be_str_weak(init),
&be_const_str_solidified,
( &(const binstruction[21]) { /* code */
0xA4120000, // 0000 IMPORT R4 K0
0x60140003, // 0001 GETGBL R5 G3
0x5C180000, // 0002 MOVE R6 R0
0x7C140200, // 0003 CALL R5 1
0x8C140B01, // 0004 GETMET R5 R5 K1
0x5C1C0200, // 0005 MOVE R7 R1
0x5C200400, // 0006 MOVE R8 R2
0x5C240600, // 0007 MOVE R9 R3
0x7C140800, // 0008 CALL R5 4
0x8C140702, // 0009 GETMET R5 R3 K2
0x881C0103, // 000A GETMBR R7 R0 K3
0x7C140400, // 000B CALL R5 2
0x88180105, // 000C GETMBR R6 R0 K5
0x8C180D06, // 000D GETMET R6 R6 K6
0x5C200A00, // 000E MOVE R8 R5
0x88240107, // 000F GETMBR R9 R0 K7
0x7C180600, // 0010 CALL R6 3
0x90020806, // 0011 SETMBR R0 K4 R6
0x8C180108, // 0012 GETMET R6 R0 K8
0x7C180200, // 0013 CALL R6 1
0x80000000, // 0014 RET 0
( &(const binstruction[20]) { /* code */
0x60100003, // 0000 GETGBL R4 G3
0x5C140000, // 0001 MOVE R5 R0
0x7C100200, // 0002 CALL R4 1
0x8C100900, // 0003 GETMET R4 R4 K0
0x5C180200, // 0004 MOVE R6 R1
0x5C1C0400, // 0005 MOVE R7 R2
0x5C200600, // 0006 MOVE R8 R3
0x7C100800, // 0007 CALL R4 4
0x8C100701, // 0008 GETMET R4 R3 K1
0x88180102, // 0009 GETMBR R6 R0 K2
0x7C100400, // 000A CALL R4 2
0x88140104, // 000B GETMBR R5 R0 K4
0x8C140B05, // 000C GETMET R5 R5 K5
0x5C1C0800, // 000D MOVE R7 R4
0x88200106, // 000E GETMBR R8 R0 K6
0x7C140600, // 000F CALL R5 3
0x90020605, // 0010 SETMBR R0 K3 R5
0x8C140107, // 0011 GETMET R5 R0 K7
0x7C140200, // 0012 CALL R5 1
0x80000000, // 0013 RET 0
})
)
);
@ -352,7 +350,7 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_web_value_onoff, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_HTTP_call_remote_sync, /* name */
be_nested_proto(
11, /* nstack */
10, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
@ -360,69 +358,67 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_call_remote_sync, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[15]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(json),
/* K2 */ be_const_int(2),
/* K3 */ be_nested_str_weak(_X20),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(http_remote),
/* K6 */ be_nested_str_weak(call_sync),
/* K7 */ be_nested_str_weak(SYNC_TIMEOUT),
/* K8 */ be_nested_str_weak(device_is_alive),
/* K9 */ be_nested_str_weak(load),
/* K10 */ be_const_int(1),
/* K11 */ be_nested_str_weak(tasmota),
/* K12 */ be_nested_str_weak(log),
/* K13 */ be_nested_str_weak(MTR_X3A_X20HTTP_X20GET_X20retrying),
/* K14 */ be_const_int(3),
( &(const bvalue[14]) { /* constants */
/* K0 */ be_nested_str_weak(json),
/* K1 */ be_const_int(2),
/* K2 */ be_nested_str_weak(_X20),
/* K3 */ be_const_int(0),
/* K4 */ be_nested_str_weak(http_remote),
/* K5 */ be_nested_str_weak(call_sync),
/* K6 */ be_nested_str_weak(SYNC_TIMEOUT),
/* K7 */ be_nested_str_weak(device_is_alive),
/* K8 */ be_nested_str_weak(load),
/* K9 */ be_const_int(1),
/* K10 */ be_nested_str_weak(tasmota),
/* K11 */ be_nested_str_weak(log),
/* K12 */ be_nested_str_weak(MTR_X3A_X20HTTP_X20GET_X20retrying),
/* K13 */ be_const_int(3),
}),
be_str_weak(call_remote_sync),
&be_const_str_solidified,
( &(const binstruction[43]) { /* code */
( &(const binstruction[42]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0xA4120200, // 0001 IMPORT R4 K1
0x58140002, // 0002 LDCONST R5 K2
0x4C180000, // 0003 LDNIL R6
0x20180406, // 0004 NE R6 R2 R6
0x781A0005, // 0005 JMPF R6 #000C
0x00180303, // 0006 ADD R6 R1 K3
0x601C0008, // 0007 GETGBL R7 G8
0x5C200400, // 0008 MOVE R8 R2
0x7C1C0200, // 0009 CALL R7 1
0x00180C07, // 000A ADD R6 R6 R7
0x5C040C00, // 000B MOVE R1 R6
0x24180B04, // 000C GT R6 R5 K4
0x781A0016, // 000D JMPF R6 #0025
0x88180105, // 000E GETMBR R6 R0 K5
0x8C180D06, // 000F GETMET R6 R6 K6
0x5C200200, // 0010 MOVE R8 R1
0x88240107, // 0011 GETMBR R9 R0 K7
0x7C180600, // 0012 CALL R6 3
0x4C1C0000, // 0013 LDNIL R7
0x201C0C07, // 0014 NE R7 R6 R7
0x781E0007, // 0015 JMPF R7 #001E
0x881C0105, // 0016 GETMBR R7 R0 K5
0x8C1C0F08, // 0017 GETMET R7 R7 K8
0x50240200, // 0018 LDBOOL R9 1 0
0x7C1C0400, // 0019 CALL R7 2
0x8C1C0909, // 001A GETMET R7 R4 K9
0x5C240C00, // 001B MOVE R9 R6
0x7C1C0400, // 001C CALL R7 2
0x80040E00, // 001D RET 1 R7
0x04140B0A, // 001E SUB R5 R5 K10
0xB81E1600, // 001F GETNGBL R7 K11
0x8C1C0F0C, // 0020 GETMET R7 R7 K12
0x58100001, // 0001 LDCONST R4 K1
0x4C140000, // 0002 LDNIL R5
0x20140405, // 0003 NE R5 R2 R5
0x78160005, // 0004 JMPF R5 #000B
0x00140302, // 0005 ADD R5 R1 K2
0x60180008, // 0006 GETGBL R6 G8
0x5C1C0400, // 0007 MOVE R7 R2
0x7C180200, // 0008 CALL R6 1
0x00140A06, // 0009 ADD R5 R5 R6
0x5C040A00, // 000A MOVE R1 R5
0x24140903, // 000B GT R5 R4 K3
0x78160016, // 000C JMPF R5 #0024
0x88140104, // 000D GETMBR R5 R0 K4
0x8C140B05, // 000E GETMET R5 R5 K5
0x5C1C0200, // 000F MOVE R7 R1
0x88200106, // 0010 GETMBR R8 R0 K6
0x7C140600, // 0011 CALL R5 3
0x4C180000, // 0012 LDNIL R6
0x20180A06, // 0013 NE R6 R5 R6
0x781A0007, // 0014 JMPF R6 #001D
0x88180104, // 0015 GETMBR R6 R0 K4
0x8C180D07, // 0016 GETMET R6 R6 K7
0x50200200, // 0017 LDBOOL R8 1 0
0x7C180400, // 0018 CALL R6 2
0x8C180708, // 0019 GETMET R6 R3 K8
0x5C200A00, // 001A MOVE R8 R5
0x7C180400, // 001B CALL R6 2
0x80040C00, // 001C RET 1 R6
0x04100909, // 001D SUB R4 R4 K9
0xB81A1400, // 001E GETNGBL R6 K10
0x8C180D0B, // 001F GETMET R6 R6 K11
0x5820000C, // 0020 LDCONST R8 K12
0x5824000D, // 0021 LDCONST R9 K13
0x5828000E, // 0022 LDCONST R10 K14
0x7C1C0600, // 0023 CALL R7 3
0x7001FFE6, // 0024 JMP #000C
0x88180105, // 0025 GETMBR R6 R0 K5
0x8C180D08, // 0026 GETMET R6 R6 K8
0x50200000, // 0027 LDBOOL R8 0 0
0x7C180400, // 0028 CALL R6 2
0x4C180000, // 0029 LDNIL R6
0x80040C00, // 002A RET 1 R6
0x7C180600, // 0022 CALL R6 3
0x7001FFE6, // 0023 JMP #000B
0x88140104, // 0024 GETMBR R5 R0 K4
0x8C140B07, // 0025 GETMET R5 R5 K7
0x501C0000, // 0026 LDBOOL R7 0 0
0x7C140400, // 0027 CALL R5 2
0x4C140000, // 0028 LDNIL R5
0x80040A00, // 0029 RET 1 R5
})
)
);
@ -526,7 +522,7 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_parse_update, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_HTTP_web_values_prefix, /* name */
be_nested_proto(
12, /* nstack */
10, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -534,35 +530,32 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_web_values_prefix, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 8]) { /* constants */
( &(const bvalue[ 6]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(string),
/* K2 */ be_nested_str_weak(get_name),
/* K3 */ be_nested_str_weak(content_send),
/* K4 */ be_nested_str_weak(format),
/* K5 */ be_nested_str_weak(PREFIX),
/* K6 */ be_nested_str_weak(html_escape),
/* K7 */ be_nested_str_weak(),
/* K1 */ be_nested_str_weak(get_name),
/* K2 */ be_nested_str_weak(content_send),
/* K3 */ be_nested_str_weak(PREFIX),
/* K4 */ be_nested_str_weak(html_escape),
/* K5 */ be_nested_str_weak(),
}),
be_str_weak(web_values_prefix),
&be_const_str_solidified,
( &(const binstruction[16]) { /* code */
( &(const binstruction[15]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xA40A0200, // 0001 IMPORT R2 K1
0x8C0C0102, // 0002 GETMET R3 R0 K2
0x7C0C0200, // 0003 CALL R3 1
0x8C100303, // 0004 GETMET R4 R1 K3
0x8C180504, // 0005 GETMET R6 R2 K4
0x88200105, // 0006 GETMBR R8 R0 K5
0x780E0003, // 0007 JMPF R3 #000C
0x8C240306, // 0008 GETMET R9 R1 K6
0x5C2C0600, // 0009 MOVE R11 R3
0x7C240400, // 000A CALL R9 2
0x70020000, // 000B JMP #000D
0x58240007, // 000C LDCONST R9 K7
0x7C180600, // 000D CALL R6 3
0x7C100400, // 000E CALL R4 2
0x80000000, // 000F RET 0
0x8C080101, // 0001 GETMET R2 R0 K1
0x7C080200, // 0002 CALL R2 1
0x8C0C0302, // 0003 GETMET R3 R1 K2
0x60140018, // 0004 GETGBL R5 G24
0x88180103, // 0005 GETMBR R6 R0 K3
0x780A0003, // 0006 JMPF R2 #000B
0x8C1C0304, // 0007 GETMET R7 R1 K4
0x5C240400, // 0008 MOVE R9 R2
0x7C1C0400, // 0009 CALL R7 2
0x70020000, // 000A JMP #000C
0x581C0005, // 000B LDCONST R7 K5
0x7C140400, // 000C CALL R5 2
0x7C0C0400, // 000D CALL R3 2
0x80000000, // 000E RET 0
})
)
);
@ -642,7 +635,7 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_read_attribute, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_HTTP_web_values, /* name */
be_nested_proto(
6, /* nstack */
5, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -650,28 +643,26 @@ be_local_closure(Matter_Plugin_Bridge_HTTP_web_values, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 7]) { /* constants */
( &(const bvalue[ 6]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(string),
/* K2 */ be_nested_str_weak(web_values_prefix),
/* K3 */ be_nested_str_weak(content_send),
/* K4 */ be_nested_str_weak(_X26lt_X3B_X2D_X2D_X20_X28),
/* K5 */ be_nested_str_weak(NAME),
/* K6 */ be_nested_str_weak(_X29_X20_X2D_X2D_X26gt_X3B),
/* K1 */ be_nested_str_weak(web_values_prefix),
/* K2 */ be_nested_str_weak(content_send),
/* K3 */ be_nested_str_weak(_X26lt_X3B_X2D_X2D_X20_X28),
/* K4 */ be_nested_str_weak(NAME),
/* K5 */ be_nested_str_weak(_X29_X20_X2D_X2D_X26gt_X3B),
}),
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[10]) { /* code */
( &(const binstruction[ 9]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xA40A0200, // 0001 IMPORT R2 K1
0x8C0C0102, // 0002 GETMET R3 R0 K2
0x7C0C0200, // 0003 CALL R3 1
0x8C0C0303, // 0004 GETMET R3 R1 K3
0x88140105, // 0005 GETMBR R5 R0 K5
0x00160805, // 0006 ADD R5 K4 R5
0x00140B06, // 0007 ADD R5 R5 K6
0x7C0C0400, // 0008 CALL R3 2
0x80000000, // 0009 RET 0
0x8C080101, // 0001 GETMET R2 R0 K1
0x7C080200, // 0002 CALL R2 1
0x8C080302, // 0003 GETMET R2 R1 K2
0x88100104, // 0004 GETMBR R4 R0 K4
0x00120604, // 0005 ADD R4 K3 R4
0x00100905, // 0006 ADD R4 R4 K5
0x7C080400, // 0007 CALL R2 2
0x80000000, // 0008 RET 0
})
)
);

View File

@ -139,7 +139,7 @@ be_local_closure(Matter_Plugin_Bridge_Light0_init, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_Light0_read_attribute, /* name */
be_nested_proto(
11, /* nstack */
10, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
@ -147,68 +147,66 @@ be_local_closure(Matter_Plugin_Bridge_Light0_read_attribute, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[12]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(attribute),
/* K5 */ be_nested_str_weak(update_shadow_lazy),
/* K6 */ be_const_int(0),
/* K7 */ be_nested_str_weak(create_TLV),
/* K8 */ be_nested_str_weak(BOOL),
/* K9 */ be_nested_str_weak(shadow_onoff),
/* K10 */ be_nested_str_weak(U4),
/* K11 */ be_nested_str_weak(read_attribute),
( &(const bvalue[11]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_nested_str_weak(update_shadow_lazy),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(create_TLV),
/* 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),
}),
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[45]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0xB8120200, // 0001 GETNGBL R4 K1
0x88100902, // 0002 GETMBR R4 R4 K2
( &(const binstruction[44]) { /* code */
0xB80E0000, // 0000 GETNGBL R3 K0
0x880C0701, // 0001 GETMBR R3 R3 K1
0x88100502, // 0002 GETMBR R4 R2 K2
0x88140503, // 0003 GETMBR R5 R2 K3
0x88180504, // 0004 GETMBR R6 R2 K4
0x541E0005, // 0005 LDINT R7 6
0x1C1C0A07, // 0006 EQ R7 R5 R7
0x781E001B, // 0007 JMPF R7 #0024
0x8C1C0105, // 0008 GETMET R7 R0 K5
0x7C1C0200, // 0009 CALL R7 1
0x1C1C0D06, // 000A EQ R7 R6 K6
0x781E0005, // 000B JMPF R7 #0012
0x8C1C0907, // 000C GETMET R7 R4 K7
0x88240908, // 000D GETMBR R9 R4 K8
0x88280109, // 000E GETMBR R10 R0 K9
0x7C1C0600, // 000F CALL R7 3
0x80040E00, // 0010 RET 1 R7
0x70020010, // 0011 JMP #0023
0x541EFFFB, // 0012 LDINT R7 65532
0x1C1C0C07, // 0013 EQ R7 R6 R7
0x781E0005, // 0014 JMPF R7 #001B
0x8C1C0907, // 0015 GETMET R7 R4 K7
0x8824090A, // 0016 GETMBR R9 R4 K10
0x58280006, // 0017 LDCONST R10 K6
0x7C1C0600, // 0018 CALL R7 3
0x80040E00, // 0019 RET 1 R7
0x70020007, // 001A JMP #0023
0x541EFFFC, // 001B LDINT R7 65533
0x1C1C0C07, // 001C EQ R7 R6 R7
0x781E0004, // 001D JMPF R7 #0023
0x8C1C0907, // 001E GETMET R7 R4 K7
0x8824090A, // 001F GETMBR R9 R4 K10
0x542A0003, // 0020 LDINT R10 4
0x7C1C0600, // 0021 CALL R7 3
0x80040E00, // 0022 RET 1 R7
0x70020007, // 0023 JMP #002C
0x601C0003, // 0024 GETGBL R7 G3
0x5C200000, // 0025 MOVE R8 R0
0x7C1C0200, // 0026 CALL R7 1
0x8C1C0F0B, // 0027 GETMET R7 R7 K11
0x5C240200, // 0028 MOVE R9 R1
0x5C280400, // 0029 MOVE R10 R2
0x7C1C0600, // 002A CALL R7 3
0x80040E00, // 002B RET 1 R7
0x80000000, // 002C RET 0
0x541A0005, // 0004 LDINT R6 6
0x1C180806, // 0005 EQ R6 R4 R6
0x781A001B, // 0006 JMPF R6 #0023
0x8C180104, // 0007 GETMET R6 R0 K4
0x7C180200, // 0008 CALL R6 1
0x1C180B05, // 0009 EQ R6 R5 K5
0x781A0005, // 000A JMPF R6 #0011
0x8C180706, // 000B GETMET R6 R3 K6
0x88200707, // 000C GETMBR R8 R3 K7
0x88240108, // 000D GETMBR R9 R0 K8
0x7C180600, // 000E CALL R6 3
0x80040C00, // 000F RET 1 R6
0x70020010, // 0010 JMP #0022
0x541AFFFB, // 0011 LDINT R6 65532
0x1C180A06, // 0012 EQ R6 R5 R6
0x781A0005, // 0013 JMPF R6 #001A
0x8C180706, // 0014 GETMET R6 R3 K6
0x88200709, // 0015 GETMBR R8 R3 K9
0x58240005, // 0016 LDCONST R9 K5
0x7C180600, // 0017 CALL R6 3
0x80040C00, // 0018 RET 1 R6
0x70020007, // 0019 JMP #0022
0x541AFFFC, // 001A LDINT R6 65533
0x1C180A06, // 001B EQ R6 R5 R6
0x781A0004, // 001C JMPF R6 #0022
0x8C180706, // 001D GETMET R6 R3 K6
0x88200709, // 001E GETMBR R8 R3 K9
0x54260003, // 001F LDINT R9 4
0x7C180600, // 0020 CALL R6 3
0x80040C00, // 0021 RET 1 R6
0x70020007, // 0022 JMP #002B
0x60180003, // 0023 GETGBL R6 G3
0x5C1C0000, // 0024 MOVE R7 R0
0x7C180200, // 0025 CALL R6 1
0x8C180D0A, // 0026 GETMET R6 R6 K10
0x5C200200, // 0027 MOVE R8 R1
0x5C240400, // 0028 MOVE R9 R2
0x7C180600, // 0029 CALL R6 3
0x80040C00, // 002A RET 1 R6
0x80000000, // 002B RET 0
})
)
);
@ -364,7 +362,7 @@ be_local_closure(Matter_Plugin_Bridge_Light0_invoke_request, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_Light0_web_values, /* name */
be_nested_proto(
11, /* nstack */
9, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -372,32 +370,29 @@ be_local_closure(Matter_Plugin_Bridge_Light0_web_values, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 8]) { /* constants */
( &(const bvalue[ 6]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(string),
/* K2 */ be_nested_str_weak(web_values_prefix),
/* K3 */ be_nested_str_weak(content_send),
/* K4 */ be_nested_str_weak(format),
/* K5 */ be_nested_str_weak(_X25s),
/* K6 */ be_nested_str_weak(web_value_onoff),
/* K7 */ be_nested_str_weak(shadow_onoff),
/* K1 */ be_nested_str_weak(web_values_prefix),
/* K2 */ be_nested_str_weak(content_send),
/* K3 */ be_nested_str_weak(_X25s),
/* K4 */ be_nested_str_weak(web_value_onoff),
/* K5 */ be_nested_str_weak(shadow_onoff),
}),
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
( &(const binstruction[12]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xA40A0200, // 0001 IMPORT R2 K1
0x8C0C0102, // 0002 GETMET R3 R0 K2
0x7C0C0200, // 0003 CALL R3 1
0x8C0C0303, // 0004 GETMET R3 R1 K3
0x8C140504, // 0005 GETMET R5 R2 K4
0x581C0005, // 0006 LDCONST R7 K5
0x8C200106, // 0007 GETMET R8 R0 K6
0x88280107, // 0008 GETMBR R10 R0 K7
0x7C200400, // 0009 CALL R8 2
0x7C140600, // 000A CALL R5 3
0x7C0C0400, // 000B CALL R3 2
0x80000000, // 000C RET 0
0x8C080101, // 0001 GETMET R2 R0 K1
0x7C080200, // 0002 CALL R2 1
0x8C080302, // 0003 GETMET R2 R1 K2
0x60100018, // 0004 GETGBL R4 G24
0x58140003, // 0005 LDCONST R5 K3
0x8C180104, // 0006 GETMET R6 R0 K4
0x88200105, // 0007 GETMBR R8 R0 K5
0x7C180400, // 0008 CALL R6 2
0x7C100400, // 0009 CALL R4 2
0x7C080400, // 000A CALL R2 2
0x80000000, // 000B RET 0
})
)
);
@ -409,7 +404,7 @@ be_local_closure(Matter_Plugin_Bridge_Light0_web_values, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_Light0_web_values_prefix, /* name */
be_nested_proto(
12, /* nstack */
10, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -417,44 +412,41 @@ be_local_closure(Matter_Plugin_Bridge_Light0_web_values_prefix, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[10]) { /* constants */
( &(const bvalue[ 8]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(string),
/* K2 */ be_nested_str_weak(get_name),
/* K3 */ be_nested_str_weak(Power),
/* K4 */ be_nested_str_weak(tasmota_relay_index),
/* K5 */ be_nested_str_weak(content_send),
/* K6 */ be_nested_str_weak(format),
/* K7 */ be_nested_str_weak(PREFIX),
/* K8 */ be_nested_str_weak(html_escape),
/* K9 */ be_nested_str_weak(),
/* K1 */ be_nested_str_weak(get_name),
/* K2 */ be_nested_str_weak(Power),
/* K3 */ be_nested_str_weak(tasmota_relay_index),
/* K4 */ be_nested_str_weak(content_send),
/* K5 */ be_nested_str_weak(PREFIX),
/* K6 */ be_nested_str_weak(html_escape),
/* K7 */ be_nested_str_weak(),
}),
be_str_weak(web_values_prefix),
&be_const_str_solidified,
( &(const binstruction[23]) { /* code */
( &(const binstruction[22]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xA40A0200, // 0001 IMPORT R2 K1
0x8C0C0102, // 0002 GETMET R3 R0 K2
0x7C0C0200, // 0003 CALL R3 1
0x5C100600, // 0004 MOVE R4 R3
0x74120004, // 0005 JMPT R4 #000B
0x60100008, // 0006 GETGBL R4 G8
0x88140104, // 0007 GETMBR R5 R0 K4
0x7C100200, // 0008 CALL R4 1
0x00120604, // 0009 ADD R4 K3 R4
0x5C0C0800, // 000A MOVE R3 R4
0x8C100305, // 000B GETMET R4 R1 K5
0x8C180506, // 000C GETMET R6 R2 K6
0x88200107, // 000D GETMBR R8 R0 K7
0x780E0003, // 000E JMPF R3 #0013
0x8C240308, // 000F GETMET R9 R1 K8
0x5C2C0600, // 0010 MOVE R11 R3
0x7C240400, // 0011 CALL R9 2
0x70020000, // 0012 JMP #0014
0x58240009, // 0013 LDCONST R9 K9
0x7C180600, // 0014 CALL R6 3
0x7C100400, // 0015 CALL R4 2
0x80000000, // 0016 RET 0
0x8C080101, // 0001 GETMET R2 R0 K1
0x7C080200, // 0002 CALL R2 1
0x5C0C0400, // 0003 MOVE R3 R2
0x740E0004, // 0004 JMPT R3 #000A
0x600C0008, // 0005 GETGBL R3 G8
0x88100103, // 0006 GETMBR R4 R0 K3
0x7C0C0200, // 0007 CALL R3 1
0x000E0403, // 0008 ADD R3 K2 R3
0x5C080600, // 0009 MOVE R2 R3
0x8C0C0304, // 000A GETMET R3 R1 K4
0x60140018, // 000B GETGBL R5 G24
0x88180105, // 000C GETMBR R6 R0 K5
0x780A0003, // 000D JMPF R2 #0012
0x8C1C0306, // 000E GETMET R7 R1 K6
0x5C240400, // 000F MOVE R9 R2
0x7C1C0400, // 0010 CALL R7 2
0x70020000, // 0011 JMP #0013
0x581C0007, // 0012 LDCONST R7 K7
0x7C140400, // 0013 CALL R5 2
0x7C0C0400, // 0014 CALL R3 2
0x80000000, // 0015 RET 0
})
)
);

View File

@ -139,7 +139,7 @@ be_local_closure(Matter_Plugin_Bridge_Light1_invoke_request, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_Light1_read_attribute, /* name */
be_nested_proto(
11, /* nstack */
10, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
@ -147,126 +147,124 @@ be_local_closure(Matter_Plugin_Bridge_Light1_read_attribute, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[16]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(attribute),
/* K5 */ be_nested_str_weak(update_shadow_lazy),
/* K6 */ be_const_int(0),
/* K7 */ be_nested_str_weak(shadow_bri),
/* K8 */ be_nested_str_weak(create_TLV),
/* K9 */ be_nested_str_weak(U1),
/* K10 */ be_nested_str_weak(NULL),
/* K11 */ be_const_int(2),
/* K12 */ be_const_int(3),
/* K13 */ be_nested_str_weak(U4),
/* K14 */ be_const_int(1),
/* K15 */ be_nested_str_weak(read_attribute),
( &(const bvalue[15]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_nested_str_weak(update_shadow_lazy),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(shadow_bri),
/* K7 */ be_nested_str_weak(create_TLV),
/* K8 */ be_nested_str_weak(U1),
/* 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),
}),
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[99]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0xB8120200, // 0001 GETNGBL R4 K1
0x88100902, // 0002 GETMBR R4 R4 K2
( &(const binstruction[98]) { /* code */
0xB80E0000, // 0000 GETNGBL R3 K0
0x880C0701, // 0001 GETMBR R3 R3 K1
0x88100502, // 0002 GETMBR R4 R2 K2
0x88140503, // 0003 GETMBR R5 R2 K3
0x88180504, // 0004 GETMBR R6 R2 K4
0x541E0007, // 0005 LDINT R7 8
0x1C1C0A07, // 0006 EQ R7 R5 R7
0x781E0051, // 0007 JMPF R7 #005A
0x8C1C0105, // 0008 GETMET R7 R0 K5
0x7C1C0200, // 0009 CALL R7 1
0x1C1C0D06, // 000A EQ R7 R6 K6
0x781E000F, // 000B JMPF R7 #001C
0x881C0107, // 000C GETMBR R7 R0 K7
0x4C200000, // 000D LDNIL R8
0x201C0E08, // 000E NE R7 R7 R8
0x781E0005, // 000F JMPF R7 #0016
0x8C1C0908, // 0010 GETMET R7 R4 K8
0x88240909, // 0011 GETMBR R9 R4 K9
0x88280107, // 0012 GETMBR R10 R0 K7
0x7C1C0600, // 0013 CALL R7 3
0x80040E00, // 0014 RET 1 R7
0x70020004, // 0015 JMP #001B
0x8C1C0908, // 0016 GETMET R7 R4 K8
0x8824090A, // 0017 GETMBR R9 R4 K10
0x4C280000, // 0018 LDNIL R10
0x7C1C0600, // 0019 CALL R7 3
0x80040E00, // 001A RET 1 R7
0x7002003C, // 001B JMP #0059
0x1C1C0D0B, // 001C EQ R7 R6 K11
0x781E0005, // 001D JMPF R7 #0024
0x8C1C0908, // 001E GETMET R7 R4 K8
0x88240909, // 001F GETMBR R9 R4 K9
0x58280006, // 0020 LDCONST R10 K6
0x7C1C0600, // 0021 CALL R7 3
0x80040E00, // 0022 RET 1 R7
0x70020034, // 0023 JMP #0059
0x1C1C0D0C, // 0024 EQ R7 R6 K12
0x781E0005, // 0025 JMPF R7 #002C
0x8C1C0908, // 0026 GETMET R7 R4 K8
0x88240909, // 0027 GETMBR R9 R4 K9
0x542A00FD, // 0028 LDINT R10 254
0x7C1C0600, // 0029 CALL R7 3
0x80040E00, // 002A RET 1 R7
0x7002002C, // 002B JMP #0059
0x541E000E, // 002C LDINT R7 15
0x1C1C0C07, // 002D EQ R7 R6 R7
0x781E0005, // 002E JMPF R7 #0035
0x8C1C0908, // 002F GETMET R7 R4 K8
0x88240909, // 0030 GETMBR R9 R4 K9
0x58280006, // 0031 LDCONST R10 K6
0x7C1C0600, // 0032 CALL R7 3
0x80040E00, // 0033 RET 1 R7
0x70020023, // 0034 JMP #0059
0x541E0010, // 0035 LDINT R7 17
0x1C1C0C07, // 0036 EQ R7 R6 R7
0x781E000F, // 0037 JMPF R7 #0048
0x881C0107, // 0038 GETMBR R7 R0 K7
0x4C200000, // 0039 LDNIL R8
0x201C0E08, // 003A NE R7 R7 R8
0x781E0005, // 003B JMPF R7 #0042
0x8C1C0908, // 003C GETMET R7 R4 K8
0x88240909, // 003D GETMBR R9 R4 K9
0x88280107, // 003E GETMBR R10 R0 K7
0x7C1C0600, // 003F CALL R7 3
0x80040E00, // 0040 RET 1 R7
0x70020004, // 0041 JMP #0047
0x8C1C0908, // 0042 GETMET R7 R4 K8
0x8824090A, // 0043 GETMBR R9 R4 K10
0x4C280000, // 0044 LDNIL R10
0x7C1C0600, // 0045 CALL R7 3
0x80040E00, // 0046 RET 1 R7
0x70020010, // 0047 JMP #0059
0x541EFFFB, // 0048 LDINT R7 65532
0x1C1C0C07, // 0049 EQ R7 R6 R7
0x781E0005, // 004A JMPF R7 #0051
0x8C1C0908, // 004B GETMET R7 R4 K8
0x8824090D, // 004C GETMBR R9 R4 K13
0x5828000E, // 004D LDCONST R10 K14
0x7C1C0600, // 004E CALL R7 3
0x80040E00, // 004F RET 1 R7
0x70020007, // 0050 JMP #0059
0x541EFFFC, // 0051 LDINT R7 65533
0x1C1C0C07, // 0052 EQ R7 R6 R7
0x781E0004, // 0053 JMPF R7 #0059
0x8C1C0908, // 0054 GETMET R7 R4 K8
0x8824090D, // 0055 GETMBR R9 R4 K13
0x542A0004, // 0056 LDINT R10 5
0x7C1C0600, // 0057 CALL R7 3
0x80040E00, // 0058 RET 1 R7
0x70020007, // 0059 JMP #0062
0x601C0003, // 005A GETGBL R7 G3
0x5C200000, // 005B MOVE R8 R0
0x7C1C0200, // 005C CALL R7 1
0x8C1C0F0F, // 005D GETMET R7 R7 K15
0x5C240200, // 005E MOVE R9 R1
0x5C280400, // 005F MOVE R10 R2
0x7C1C0600, // 0060 CALL R7 3
0x80040E00, // 0061 RET 1 R7
0x80000000, // 0062 RET 0
0x541A0007, // 0004 LDINT R6 8
0x1C180806, // 0005 EQ R6 R4 R6
0x781A0051, // 0006 JMPF R6 #0059
0x8C180104, // 0007 GETMET R6 R0 K4
0x7C180200, // 0008 CALL R6 1
0x1C180B05, // 0009 EQ R6 R5 K5
0x781A000F, // 000A JMPF R6 #001B
0x88180106, // 000B GETMBR R6 R0 K6
0x4C1C0000, // 000C LDNIL R7
0x20180C07, // 000D NE R6 R6 R7
0x781A0005, // 000E JMPF R6 #0015
0x8C180707, // 000F GETMET R6 R3 K7
0x88200708, // 0010 GETMBR R8 R3 K8
0x88240106, // 0011 GETMBR R9 R0 K6
0x7C180600, // 0012 CALL R6 3
0x80040C00, // 0013 RET 1 R6
0x70020004, // 0014 JMP #001A
0x8C180707, // 0015 GETMET R6 R3 K7
0x88200709, // 0016 GETMBR R8 R3 K9
0x4C240000, // 0017 LDNIL R9
0x7C180600, // 0018 CALL R6 3
0x80040C00, // 0019 RET 1 R6
0x7002003C, // 001A JMP #0058
0x1C180B0A, // 001B EQ R6 R5 K10
0x781A0005, // 001C JMPF R6 #0023
0x8C180707, // 001D GETMET R6 R3 K7
0x88200708, // 001E GETMBR R8 R3 K8
0x58240005, // 001F LDCONST R9 K5
0x7C180600, // 0020 CALL R6 3
0x80040C00, // 0021 RET 1 R6
0x70020034, // 0022 JMP #0058
0x1C180B0B, // 0023 EQ R6 R5 K11
0x781A0005, // 0024 JMPF R6 #002B
0x8C180707, // 0025 GETMET R6 R3 K7
0x88200708, // 0026 GETMBR R8 R3 K8
0x542600FD, // 0027 LDINT R9 254
0x7C180600, // 0028 CALL R6 3
0x80040C00, // 0029 RET 1 R6
0x7002002C, // 002A JMP #0058
0x541A000E, // 002B LDINT R6 15
0x1C180A06, // 002C EQ R6 R5 R6
0x781A0005, // 002D JMPF R6 #0034
0x8C180707, // 002E GETMET R6 R3 K7
0x88200708, // 002F GETMBR R8 R3 K8
0x58240005, // 0030 LDCONST R9 K5
0x7C180600, // 0031 CALL R6 3
0x80040C00, // 0032 RET 1 R6
0x70020023, // 0033 JMP #0058
0x541A0010, // 0034 LDINT R6 17
0x1C180A06, // 0035 EQ R6 R5 R6
0x781A000F, // 0036 JMPF R6 #0047
0x88180106, // 0037 GETMBR R6 R0 K6
0x4C1C0000, // 0038 LDNIL R7
0x20180C07, // 0039 NE R6 R6 R7
0x781A0005, // 003A JMPF R6 #0041
0x8C180707, // 003B GETMET R6 R3 K7
0x88200708, // 003C GETMBR R8 R3 K8
0x88240106, // 003D GETMBR R9 R0 K6
0x7C180600, // 003E CALL R6 3
0x80040C00, // 003F RET 1 R6
0x70020004, // 0040 JMP #0046
0x8C180707, // 0041 GETMET R6 R3 K7
0x88200709, // 0042 GETMBR R8 R3 K9
0x4C240000, // 0043 LDNIL R9
0x7C180600, // 0044 CALL R6 3
0x80040C00, // 0045 RET 1 R6
0x70020010, // 0046 JMP #0058
0x541AFFFB, // 0047 LDINT R6 65532
0x1C180A06, // 0048 EQ R6 R5 R6
0x781A0005, // 0049 JMPF R6 #0050
0x8C180707, // 004A GETMET R6 R3 K7
0x8820070C, // 004B GETMBR R8 R3 K12
0x5824000D, // 004C LDCONST R9 K13
0x7C180600, // 004D CALL R6 3
0x80040C00, // 004E RET 1 R6
0x70020007, // 004F JMP #0058
0x541AFFFC, // 0050 LDINT R6 65533
0x1C180A06, // 0051 EQ R6 R5 R6
0x781A0004, // 0052 JMPF R6 #0058
0x8C180707, // 0053 GETMET R6 R3 K7
0x8820070C, // 0054 GETMBR R8 R3 K12
0x54260004, // 0055 LDINT R9 5
0x7C180600, // 0056 CALL R6 3
0x80040C00, // 0057 RET 1 R6
0x70020007, // 0058 JMP #0061
0x60180003, // 0059 GETGBL R6 G3
0x5C1C0000, // 005A MOVE R7 R0
0x7C180200, // 005B CALL R6 1
0x8C180D0E, // 005C GETMET R6 R6 K14
0x5C200200, // 005D MOVE R8 R1
0x5C240400, // 005E MOVE R9 R2
0x7C180600, // 005F CALL R6 3
0x80040C00, // 0060 RET 1 R6
0x80000000, // 0061 RET 0
})
)
);
@ -278,7 +276,7 @@ be_local_closure(Matter_Plugin_Bridge_Light1_read_attribute, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_Light1_web_values, /* name */
be_nested_proto(
11, /* nstack */
9, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -286,35 +284,32 @@ be_local_closure(Matter_Plugin_Bridge_Light1_web_values, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 9]) { /* constants */
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(string),
/* K2 */ be_nested_str_weak(web_values_prefix),
/* K3 */ be_nested_str_weak(content_send),
/* K4 */ be_nested_str_weak(format),
/* K5 */ be_nested_str_weak(_X25s_X20_X25s),
/* K6 */ be_nested_str_weak(web_value_onoff),
/* K7 */ be_nested_str_weak(shadow_onoff),
/* K8 */ be_nested_str_weak(web_value_dimmer),
/* K1 */ be_nested_str_weak(web_values_prefix),
/* K2 */ be_nested_str_weak(content_send),
/* K3 */ be_nested_str_weak(_X25s_X20_X25s),
/* K4 */ be_nested_str_weak(web_value_onoff),
/* K5 */ be_nested_str_weak(shadow_onoff),
/* K6 */ be_nested_str_weak(web_value_dimmer),
}),
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[15]) { /* code */
( &(const binstruction[14]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xA40A0200, // 0001 IMPORT R2 K1
0x8C0C0102, // 0002 GETMET R3 R0 K2
0x7C0C0200, // 0003 CALL R3 1
0x8C0C0303, // 0004 GETMET R3 R1 K3
0x8C140504, // 0005 GETMET R5 R2 K4
0x581C0005, // 0006 LDCONST R7 K5
0x8C200106, // 0007 GETMET R8 R0 K6
0x88280107, // 0008 GETMBR R10 R0 K7
0x7C200400, // 0009 CALL R8 2
0x8C240108, // 000A GETMET R9 R0 K8
0x7C240200, // 000B CALL R9 1
0x7C140800, // 000C CALL R5 4
0x7C0C0400, // 000D CALL R3 2
0x80000000, // 000E RET 0
0x8C080101, // 0001 GETMET R2 R0 K1
0x7C080200, // 0002 CALL R2 1
0x8C080302, // 0003 GETMET R2 R1 K2
0x60100018, // 0004 GETGBL R4 G24
0x58140003, // 0005 LDCONST R5 K3
0x8C180104, // 0006 GETMET R6 R0 K4
0x88200105, // 0007 GETMBR R8 R0 K5
0x7C180400, // 0008 CALL R6 2
0x8C1C0106, // 0009 GETMET R7 R0 K6
0x7C1C0200, // 000A CALL R7 1
0x7C100600, // 000B CALL R4 3
0x7C080400, // 000C CALL R2 2
0x80000000, // 000D RET 0
})
)
);
@ -445,7 +440,7 @@ be_local_closure(Matter_Plugin_Bridge_Light1_parse_update, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_Light1_web_value_dimmer, /* name */
be_nested_proto(
10, /* nstack */
9, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -453,41 +448,38 @@ be_local_closure(Matter_Plugin_Bridge_Light1_web_value_dimmer, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 9]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(),
/* K2 */ be_nested_str_weak(shadow_bri),
/* K3 */ be_nested_str_weak(tasmota),
/* K4 */ be_nested_str_weak(scale_uint),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(format),
/* K7 */ be_nested_str_weak(_X25i_X25_X25),
/* K8 */ be_nested_str_weak(_X26_X23128261_X3B_X20),
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_nested_str_weak(),
/* K1 */ be_nested_str_weak(shadow_bri),
/* K2 */ be_nested_str_weak(tasmota),
/* K3 */ be_nested_str_weak(scale_uint),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(_X25i_X25_X25),
/* K6 */ be_nested_str_weak(_X26_X23128261_X3B_X20),
}),
be_str_weak(web_value_dimmer),
&be_const_str_solidified,
( &(const binstruction[21]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x58080001, // 0001 LDCONST R2 K1
0x880C0102, // 0002 GETMBR R3 R0 K2
0x4C100000, // 0003 LDNIL R4
0x200C0604, // 0004 NE R3 R3 R4
0x780E000C, // 0005 JMPF R3 #0013
0xB80E0600, // 0006 GETNGBL R3 K3
0x8C0C0704, // 0007 GETMET R3 R3 K4
0x88140102, // 0008 GETMBR R5 R0 K2
0x58180005, // 0009 LDCONST R6 K5
0x541E00FD, // 000A LDINT R7 254
0x58200005, // 000B LDCONST R8 K5
0x54260063, // 000C LDINT R9 100
0x7C0C0C00, // 000D CALL R3 6
0x8C100306, // 000E GETMET R4 R1 K6
0x58180007, // 000F LDCONST R6 K7
0x5C1C0600, // 0010 MOVE R7 R3
0x7C100600, // 0011 CALL R4 3
0x5C080800, // 0012 MOVE R2 R4
0x000E1002, // 0013 ADD R3 K8 R2
0x80040600, // 0014 RET 1 R3
( &(const binstruction[20]) { /* code */
0x58040000, // 0000 LDCONST R1 K0
0x88080101, // 0001 GETMBR R2 R0 K1
0x4C0C0000, // 0002 LDNIL R3
0x20080403, // 0003 NE R2 R2 R3
0x780A000C, // 0004 JMPF R2 #0012
0xB80A0400, // 0005 GETNGBL R2 K2
0x8C080503, // 0006 GETMET R2 R2 K3
0x88100101, // 0007 GETMBR R4 R0 K1
0x58140004, // 0008 LDCONST R5 K4
0x541A00FD, // 0009 LDINT R6 254
0x581C0004, // 000A LDCONST R7 K4
0x54220063, // 000B LDINT R8 100
0x7C080C00, // 000C CALL R2 6
0x600C0018, // 000D GETGBL R3 G24
0x58100005, // 000E LDCONST R4 K5
0x5C140400, // 000F MOVE R5 R2
0x7C0C0400, // 0010 CALL R3 2
0x5C040600, // 0011 MOVE R1 R3
0x000A0C01, // 0012 ADD R2 K6 R1
0x80040400, // 0013 RET 1 R2
})
)
);

View File

@ -114,7 +114,7 @@ be_local_closure(Matter_Plugin_Bridge_Light2_parse_update, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_Light2_web_values, /* name */
be_nested_proto(
12, /* nstack */
10, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -122,38 +122,35 @@ be_local_closure(Matter_Plugin_Bridge_Light2_web_values, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[10]) { /* constants */
( &(const bvalue[ 8]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(string),
/* K2 */ be_nested_str_weak(web_values_prefix),
/* K3 */ be_nested_str_weak(content_send),
/* K4 */ be_nested_str_weak(format),
/* K5 */ be_nested_str_weak(_X25s_X20_X25s_X20_X25s),
/* K6 */ be_nested_str_weak(web_value_onoff),
/* K7 */ be_nested_str_weak(shadow_onoff),
/* K8 */ be_nested_str_weak(web_value_dimmer),
/* K9 */ be_nested_str_weak(web_value_ct),
/* K1 */ be_nested_str_weak(web_values_prefix),
/* K2 */ be_nested_str_weak(content_send),
/* K3 */ be_nested_str_weak(_X25s_X20_X25s_X20_X25s),
/* K4 */ be_nested_str_weak(web_value_onoff),
/* K5 */ be_nested_str_weak(shadow_onoff),
/* K6 */ be_nested_str_weak(web_value_dimmer),
/* K7 */ be_nested_str_weak(web_value_ct),
}),
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[17]) { /* code */
( &(const binstruction[16]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xA40A0200, // 0001 IMPORT R2 K1
0x8C0C0102, // 0002 GETMET R3 R0 K2
0x7C0C0200, // 0003 CALL R3 1
0x8C0C0303, // 0004 GETMET R3 R1 K3
0x8C140504, // 0005 GETMET R5 R2 K4
0x581C0005, // 0006 LDCONST R7 K5
0x8C200106, // 0007 GETMET R8 R0 K6
0x88280107, // 0008 GETMBR R10 R0 K7
0x7C200400, // 0009 CALL R8 2
0x8C240108, // 000A GETMET R9 R0 K8
0x7C240200, // 000B CALL R9 1
0x8C280109, // 000C GETMET R10 R0 K9
0x7C280200, // 000D CALL R10 1
0x7C140A00, // 000E CALL R5 5
0x7C0C0400, // 000F CALL R3 2
0x80000000, // 0010 RET 0
0x8C080101, // 0001 GETMET R2 R0 K1
0x7C080200, // 0002 CALL R2 1
0x8C080302, // 0003 GETMET R2 R1 K2
0x60100018, // 0004 GETGBL R4 G24
0x58140003, // 0005 LDCONST R5 K3
0x8C180104, // 0006 GETMET R6 R0 K4
0x88200105, // 0007 GETMBR R8 R0 K5
0x7C180400, // 0008 CALL R6 2
0x8C1C0106, // 0009 GETMET R7 R0 K6
0x7C1C0200, // 000A CALL R7 1
0x8C200107, // 000B GETMET R8 R0 K7
0x7C200200, // 000C CALL R8 1
0x7C100800, // 000D CALL R4 4
0x7C080400, // 000E CALL R2 2
0x80000000, // 000F RET 0
})
)
);
@ -165,7 +162,7 @@ be_local_closure(Matter_Plugin_Bridge_Light2_web_values, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_Light2_web_value_ct, /* name */
be_nested_proto(
8, /* nstack */
6, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -173,39 +170,36 @@ be_local_closure(Matter_Plugin_Bridge_Light2_web_value_ct, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(),
/* K2 */ be_nested_str_weak(shadow_ct),
/* K3 */ be_const_int(1000000),
/* K4 */ be_nested_str_weak(format),
/* K5 */ be_nested_str_weak(_X25iK),
/* K6 */ be_nested_str_weak(_X26_X239898_X3B_X20),
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_nested_str_weak(),
/* K1 */ be_nested_str_weak(shadow_ct),
/* K2 */ be_const_int(1000000),
/* K3 */ be_nested_str_weak(_X25iK),
/* K4 */ be_nested_str_weak(_X26_X239898_X3B_X20),
}),
be_str_weak(web_value_ct),
&be_const_str_solidified,
( &(const binstruction[21]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x58080001, // 0001 LDCONST R2 K1
0x880C0102, // 0002 GETMBR R3 R0 K2
0x4C100000, // 0003 LDNIL R4
0x200C0604, // 0004 NE R3 R3 R4
0x780E000C, // 0005 JMPF R3 #0013
0x880C0102, // 0006 GETMBR R3 R0 K2
0x0C0E0603, // 0007 DIV R3 K3 R3
0x54120018, // 0008 LDINT R4 25
0x000C0604, // 0009 ADD R3 R3 R4
0x54120031, // 000A LDINT R4 50
0x0C0C0604, // 000B DIV R3 R3 R4
0x54120031, // 000C LDINT R4 50
0x080C0604, // 000D MUL R3 R3 R4
0x8C100304, // 000E GETMET R4 R1 K4
0x58180005, // 000F LDCONST R6 K5
0x5C1C0600, // 0010 MOVE R7 R3
0x7C100600, // 0011 CALL R4 3
0x5C080800, // 0012 MOVE R2 R4
0x000E0C02, // 0013 ADD R3 K6 R2
0x80040600, // 0014 RET 1 R3
( &(const binstruction[20]) { /* code */
0x58040000, // 0000 LDCONST R1 K0
0x88080101, // 0001 GETMBR R2 R0 K1
0x4C0C0000, // 0002 LDNIL R3
0x20080403, // 0003 NE R2 R2 R3
0x780A000C, // 0004 JMPF R2 #0012
0x88080101, // 0005 GETMBR R2 R0 K1
0x0C0A0402, // 0006 DIV R2 K2 R2
0x540E0018, // 0007 LDINT R3 25
0x00080403, // 0008 ADD R2 R2 R3
0x540E0031, // 0009 LDINT R3 50
0x0C080403, // 000A DIV R2 R2 R3
0x540E0031, // 000B LDINT R3 50
0x08080403, // 000C MUL R2 R2 R3
0x600C0018, // 000D GETGBL R3 G24
0x58100003, // 000E LDCONST R4 K3
0x5C140400, // 000F MOVE R5 R2
0x7C0C0400, // 0010 CALL R3 2
0x5C040600, // 0011 MOVE R1 R3
0x000A0801, // 0012 ADD R2 K4 R1
0x80040400, // 0013 RET 1 R2
})
)
);
@ -400,7 +394,7 @@ be_local_closure(Matter_Plugin_Bridge_Light2_update_ct_minmax, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_Light2_read_attribute, /* name */
be_nested_proto(
11, /* nstack */
10, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
@ -408,128 +402,126 @@ be_local_closure(Matter_Plugin_Bridge_Light2_read_attribute, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[16]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(attribute),
/* K5 */ be_nested_str_weak(update_shadow_lazy),
/* K6 */ be_nested_str_weak(shadow_ct),
/* K7 */ be_nested_str_weak(create_TLV),
/* K8 */ be_nested_str_weak(U1),
/* K9 */ be_nested_str_weak(NULL),
/* K10 */ be_const_int(2),
/* K11 */ be_const_int(0),
/* K12 */ be_nested_str_weak(ct_min),
/* K13 */ be_nested_str_weak(ct_max),
/* K14 */ be_nested_str_weak(U4),
/* K15 */ be_nested_str_weak(read_attribute),
( &(const bvalue[15]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_nested_str_weak(update_shadow_lazy),
/* K5 */ be_nested_str_weak(shadow_ct),
/* K6 */ be_nested_str_weak(create_TLV),
/* K7 */ be_nested_str_weak(U1),
/* K8 */ be_nested_str_weak(NULL),
/* K9 */ be_const_int(2),
/* K10 */ be_const_int(0),
/* K11 */ be_nested_str_weak(ct_min),
/* K12 */ be_nested_str_weak(ct_max),
/* K13 */ be_nested_str_weak(U4),
/* K14 */ be_nested_str_weak(read_attribute),
}),
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[101]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0xB8120200, // 0001 GETNGBL R4 K1
0x88100902, // 0002 GETMBR R4 R4 K2
( &(const binstruction[100]) { /* code */
0xB80E0000, // 0000 GETNGBL R3 K0
0x880C0701, // 0001 GETMBR R3 R3 K1
0x88100502, // 0002 GETMBR R4 R2 K2
0x88140503, // 0003 GETMBR R5 R2 K3
0x88180504, // 0004 GETMBR R6 R2 K4
0x541E02FF, // 0005 LDINT R7 768
0x1C1C0A07, // 0006 EQ R7 R5 R7
0x781E0053, // 0007 JMPF R7 #005C
0x8C1C0105, // 0008 GETMET R7 R0 K5
0x7C1C0200, // 0009 CALL R7 1
0x541E0006, // 000A LDINT R7 7
0x1C1C0C07, // 000B EQ R7 R6 R7
0x781E000F, // 000C JMPF R7 #001D
0x881C0106, // 000D GETMBR R7 R0 K6
0x4C200000, // 000E LDNIL R8
0x201C0E08, // 000F NE R7 R7 R8
0x781E0005, // 0010 JMPF R7 #0017
0x8C1C0907, // 0011 GETMET R7 R4 K7
0x88240908, // 0012 GETMBR R9 R4 K8
0x88280106, // 0013 GETMBR R10 R0 K6
0x7C1C0600, // 0014 CALL R7 3
0x80040E00, // 0015 RET 1 R7
0x70020004, // 0016 JMP #001C
0x8C1C0907, // 0017 GETMET R7 R4 K7
0x88240909, // 0018 GETMBR R9 R4 K9
0x4C280000, // 0019 LDNIL R10
0x7C1C0600, // 001A CALL R7 3
0x80040E00, // 001B RET 1 R7
0x7002003D, // 001C JMP #005B
0x541E0007, // 001D LDINT R7 8
0x1C1C0C07, // 001E EQ R7 R6 R7
0x781E0005, // 001F JMPF R7 #0026
0x8C1C0907, // 0020 GETMET R7 R4 K7
0x88240908, // 0021 GETMBR R9 R4 K8
0x5828000A, // 0022 LDCONST R10 K10
0x7C1C0600, // 0023 CALL R7 3
0x80040E00, // 0024 RET 1 R7
0x70020034, // 0025 JMP #005B
0x541E000E, // 0026 LDINT R7 15
0x1C1C0C07, // 0027 EQ R7 R6 R7
0x781E0005, // 0028 JMPF R7 #002F
0x8C1C0907, // 0029 GETMET R7 R4 K7
0x88240908, // 002A GETMBR R9 R4 K8
0x5828000B, // 002B LDCONST R10 K11
0x7C1C0600, // 002C CALL R7 3
0x80040E00, // 002D RET 1 R7
0x7002002B, // 002E JMP #005B
0x541E400A, // 002F LDINT R7 16395
0x1C1C0C07, // 0030 EQ R7 R6 R7
0x781E0005, // 0031 JMPF R7 #0038
0x8C1C0907, // 0032 GETMET R7 R4 K7
0x88240908, // 0033 GETMBR R9 R4 K8
0x8828010C, // 0034 GETMBR R10 R0 K12
0x7C1C0600, // 0035 CALL R7 3
0x80040E00, // 0036 RET 1 R7
0x70020022, // 0037 JMP #005B
0x541E400B, // 0038 LDINT R7 16396
0x1C1C0C07, // 0039 EQ R7 R6 R7
0x781E0005, // 003A JMPF R7 #0041
0x8C1C0907, // 003B GETMET R7 R4 K7
0x88240908, // 003C GETMBR R9 R4 K8
0x8828010D, // 003D GETMBR R10 R0 K13
0x7C1C0600, // 003E CALL R7 3
0x80040E00, // 003F RET 1 R7
0x70020019, // 0040 JMP #005B
0x541E4009, // 0041 LDINT R7 16394
0x1C1C0C07, // 0042 EQ R7 R6 R7
0x781E0005, // 0043 JMPF R7 #004A
0x8C1C0907, // 0044 GETMET R7 R4 K7
0x8824090E, // 0045 GETMBR R9 R4 K14
0x542A000F, // 0046 LDINT R10 16
0x7C1C0600, // 0047 CALL R7 3
0x80040E00, // 0048 RET 1 R7
0x70020010, // 0049 JMP #005B
0x541EFFFB, // 004A LDINT R7 65532
0x1C1C0C07, // 004B EQ R7 R6 R7
0x781E0005, // 004C JMPF R7 #0053
0x8C1C0907, // 004D GETMET R7 R4 K7
0x8824090E, // 004E GETMBR R9 R4 K14
0x542A000F, // 004F LDINT R10 16
0x7C1C0600, // 0050 CALL R7 3
0x80040E00, // 0051 RET 1 R7
0x70020007, // 0052 JMP #005B
0x541EFFFC, // 0053 LDINT R7 65533
0x1C1C0C07, // 0054 EQ R7 R6 R7
0x781E0004, // 0055 JMPF R7 #005B
0x8C1C0907, // 0056 GETMET R7 R4 K7
0x8824090E, // 0057 GETMBR R9 R4 K14
0x542A0004, // 0058 LDINT R10 5
0x7C1C0600, // 0059 CALL R7 3
0x80040E00, // 005A RET 1 R7
0x70020007, // 005B JMP #0064
0x601C0003, // 005C GETGBL R7 G3
0x5C200000, // 005D MOVE R8 R0
0x7C1C0200, // 005E CALL R7 1
0x8C1C0F0F, // 005F GETMET R7 R7 K15
0x5C240200, // 0060 MOVE R9 R1
0x5C280400, // 0061 MOVE R10 R2
0x7C1C0600, // 0062 CALL R7 3
0x80040E00, // 0063 RET 1 R7
0x80000000, // 0064 RET 0
0x541A02FF, // 0004 LDINT R6 768
0x1C180806, // 0005 EQ R6 R4 R6
0x781A0053, // 0006 JMPF R6 #005B
0x8C180104, // 0007 GETMET R6 R0 K4
0x7C180200, // 0008 CALL R6 1
0x541A0006, // 0009 LDINT R6 7
0x1C180A06, // 000A EQ R6 R5 R6
0x781A000F, // 000B JMPF R6 #001C
0x88180105, // 000C GETMBR R6 R0 K5
0x4C1C0000, // 000D LDNIL R7
0x20180C07, // 000E NE R6 R6 R7
0x781A0005, // 000F JMPF R6 #0016
0x8C180706, // 0010 GETMET R6 R3 K6
0x88200707, // 0011 GETMBR R8 R3 K7
0x88240105, // 0012 GETMBR R9 R0 K5
0x7C180600, // 0013 CALL R6 3
0x80040C00, // 0014 RET 1 R6
0x70020004, // 0015 JMP #001B
0x8C180706, // 0016 GETMET R6 R3 K6
0x88200708, // 0017 GETMBR R8 R3 K8
0x4C240000, // 0018 LDNIL R9
0x7C180600, // 0019 CALL R6 3
0x80040C00, // 001A RET 1 R6
0x7002003D, // 001B JMP #005A
0x541A0007, // 001C LDINT R6 8
0x1C180A06, // 001D EQ R6 R5 R6
0x781A0005, // 001E JMPF R6 #0025
0x8C180706, // 001F GETMET R6 R3 K6
0x88200707, // 0020 GETMBR R8 R3 K7
0x58240009, // 0021 LDCONST R9 K9
0x7C180600, // 0022 CALL R6 3
0x80040C00, // 0023 RET 1 R6
0x70020034, // 0024 JMP #005A
0x541A000E, // 0025 LDINT R6 15
0x1C180A06, // 0026 EQ R6 R5 R6
0x781A0005, // 0027 JMPF R6 #002E
0x8C180706, // 0028 GETMET R6 R3 K6
0x88200707, // 0029 GETMBR R8 R3 K7
0x5824000A, // 002A LDCONST R9 K10
0x7C180600, // 002B CALL R6 3
0x80040C00, // 002C RET 1 R6
0x7002002B, // 002D JMP #005A
0x541A400A, // 002E LDINT R6 16395
0x1C180A06, // 002F EQ R6 R5 R6
0x781A0005, // 0030 JMPF R6 #0037
0x8C180706, // 0031 GETMET R6 R3 K6
0x88200707, // 0032 GETMBR R8 R3 K7
0x8824010B, // 0033 GETMBR R9 R0 K11
0x7C180600, // 0034 CALL R6 3
0x80040C00, // 0035 RET 1 R6
0x70020022, // 0036 JMP #005A
0x541A400B, // 0037 LDINT R6 16396
0x1C180A06, // 0038 EQ R6 R5 R6
0x781A0005, // 0039 JMPF R6 #0040
0x8C180706, // 003A GETMET R6 R3 K6
0x88200707, // 003B GETMBR R8 R3 K7
0x8824010C, // 003C GETMBR R9 R0 K12
0x7C180600, // 003D CALL R6 3
0x80040C00, // 003E RET 1 R6
0x70020019, // 003F JMP #005A
0x541A4009, // 0040 LDINT R6 16394
0x1C180A06, // 0041 EQ R6 R5 R6
0x781A0005, // 0042 JMPF R6 #0049
0x8C180706, // 0043 GETMET R6 R3 K6
0x8820070D, // 0044 GETMBR R8 R3 K13
0x5426000F, // 0045 LDINT R9 16
0x7C180600, // 0046 CALL R6 3
0x80040C00, // 0047 RET 1 R6
0x70020010, // 0048 JMP #005A
0x541AFFFB, // 0049 LDINT R6 65532
0x1C180A06, // 004A EQ R6 R5 R6
0x781A0005, // 004B JMPF R6 #0052
0x8C180706, // 004C GETMET R6 R3 K6
0x8820070D, // 004D GETMBR R8 R3 K13
0x5426000F, // 004E LDINT R9 16
0x7C180600, // 004F CALL R6 3
0x80040C00, // 0050 RET 1 R6
0x70020007, // 0051 JMP #005A
0x541AFFFC, // 0052 LDINT R6 65533
0x1C180A06, // 0053 EQ R6 R5 R6
0x781A0004, // 0054 JMPF R6 #005A
0x8C180706, // 0055 GETMET R6 R3 K6
0x8820070D, // 0056 GETMBR R8 R3 K13
0x54260004, // 0057 LDINT R9 5
0x7C180600, // 0058 CALL R6 3
0x80040C00, // 0059 RET 1 R6
0x70020007, // 005A JMP #0063
0x60180003, // 005B GETGBL R6 G3
0x5C1C0000, // 005C MOVE R7 R0
0x7C180200, // 005D CALL R6 1
0x8C180D0E, // 005E GETMET R6 R6 K14
0x5C200200, // 005F MOVE R8 R1
0x5C240400, // 0060 MOVE R9 R2
0x7C180600, // 0061 CALL R6 3
0x80040C00, // 0062 RET 1 R6
0x80000000, // 0063 RET 0
})
)
);

View File

@ -168,7 +168,7 @@ be_local_closure(Matter_Plugin_Bridge_Light3_parse_update, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_Light3_web_values, /* name */
be_nested_proto(
12, /* nstack */
10, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -176,38 +176,35 @@ be_local_closure(Matter_Plugin_Bridge_Light3_web_values, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[10]) { /* constants */
( &(const bvalue[ 8]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(string),
/* K2 */ be_nested_str_weak(web_values_prefix),
/* K3 */ be_nested_str_weak(content_send),
/* K4 */ be_nested_str_weak(format),
/* K5 */ be_nested_str_weak(_X25s_X20_X25s_X20_X25s),
/* K6 */ be_nested_str_weak(web_value_onoff),
/* K7 */ be_nested_str_weak(shadow_onoff),
/* K8 */ be_nested_str_weak(web_value_dimmer),
/* K9 */ be_nested_str_weak(web_value_RGB),
/* K1 */ be_nested_str_weak(web_values_prefix),
/* K2 */ be_nested_str_weak(content_send),
/* K3 */ be_nested_str_weak(_X25s_X20_X25s_X20_X25s),
/* K4 */ be_nested_str_weak(web_value_onoff),
/* K5 */ be_nested_str_weak(shadow_onoff),
/* K6 */ be_nested_str_weak(web_value_dimmer),
/* K7 */ be_nested_str_weak(web_value_RGB),
}),
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[17]) { /* code */
( &(const binstruction[16]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xA40A0200, // 0001 IMPORT R2 K1
0x8C0C0102, // 0002 GETMET R3 R0 K2
0x7C0C0200, // 0003 CALL R3 1
0x8C0C0303, // 0004 GETMET R3 R1 K3
0x8C140504, // 0005 GETMET R5 R2 K4
0x581C0005, // 0006 LDCONST R7 K5
0x8C200106, // 0007 GETMET R8 R0 K6
0x88280107, // 0008 GETMBR R10 R0 K7
0x7C200400, // 0009 CALL R8 2
0x8C240108, // 000A GETMET R9 R0 K8
0x7C240200, // 000B CALL R9 1
0x8C280109, // 000C GETMET R10 R0 K9
0x7C280200, // 000D CALL R10 1
0x7C140A00, // 000E CALL R5 5
0x7C0C0400, // 000F CALL R3 2
0x80000000, // 0010 RET 0
0x8C080101, // 0001 GETMET R2 R0 K1
0x7C080200, // 0002 CALL R2 1
0x8C080302, // 0003 GETMET R2 R1 K2
0x60100018, // 0004 GETGBL R4 G24
0x58140003, // 0005 LDCONST R5 K3
0x8C180104, // 0006 GETMET R6 R0 K4
0x88200105, // 0007 GETMBR R8 R0 K5
0x7C180400, // 0008 CALL R6 2
0x8C1C0106, // 0009 GETMET R7 R0 K6
0x7C1C0200, // 000A CALL R7 1
0x8C200107, // 000B GETMET R8 R0 K7
0x7C200200, // 000C CALL R8 1
0x7C100800, // 000D CALL R4 4
0x7C080400, // 000E CALL R2 2
0x80000000, // 000F RET 0
})
)
);
@ -219,7 +216,7 @@ be_local_closure(Matter_Plugin_Bridge_Light3_web_values, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_Light3_web_value_RGB, /* name */
be_nested_proto(
13, /* nstack */
12, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -227,74 +224,71 @@ be_local_closure(Matter_Plugin_Bridge_Light3_web_value_RGB, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[17]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(shadow_hue),
/* K2 */ be_nested_str_weak(shadow_sat),
/* K3 */ be_nested_str_weak(light_state),
/* K4 */ be_const_int(3),
/* K5 */ be_nested_str_weak(set_bri),
/* K6 */ be_nested_str_weak(set_huesat),
/* K7 */ be_nested_str_weak(tasmota),
/* K8 */ be_nested_str_weak(scale_uint),
/* K9 */ be_const_int(0),
/* K10 */ be_nested_str_weak(format),
/* K11 */ be_nested_str_weak(_X23_X2502X_X2502X_X2502X),
/* K12 */ be_nested_str_weak(r),
/* K13 */ be_nested_str_weak(g),
/* K14 */ be_nested_str_weak(b),
/* K15 */ be_nested_str_weak(_X3Ci_X20class_X3D_X22bxm_X22_X20style_X3D_X22_X2D_X2Dcl_X3A_X25s_X22_X3E_X3C_X2Fi_X3E_X25s),
/* K16 */ be_nested_str_weak(),
( &(const bvalue[15]) { /* constants */
/* K0 */ be_nested_str_weak(shadow_hue),
/* K1 */ be_nested_str_weak(shadow_sat),
/* K2 */ be_nested_str_weak(light_state),
/* K3 */ be_const_int(3),
/* K4 */ be_nested_str_weak(set_bri),
/* K5 */ be_nested_str_weak(set_huesat),
/* K6 */ be_nested_str_weak(tasmota),
/* K7 */ be_nested_str_weak(scale_uint),
/* K8 */ be_const_int(0),
/* K9 */ be_nested_str_weak(_X23_X2502X_X2502X_X2502X),
/* K10 */ be_nested_str_weak(r),
/* K11 */ be_nested_str_weak(g),
/* K12 */ be_nested_str_weak(b),
/* K13 */ be_nested_str_weak(_X3Ci_X20class_X3D_X22bxm_X22_X20style_X3D_X22_X2D_X2Dcl_X3A_X25s_X22_X3E_X3C_X2Fi_X3E_X25s),
/* K14 */ be_nested_str_weak(),
}),
be_str_weak(web_value_RGB),
&be_const_str_solidified,
( &(const binstruction[46]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x88080101, // 0001 GETMBR R2 R0 K1
0x4C0C0000, // 0002 LDNIL R3
0x20080403, // 0003 NE R2 R2 R3
0x780A0027, // 0004 JMPF R2 #002D
0x88080102, // 0005 GETMBR R2 R0 K2
0x4C0C0000, // 0006 LDNIL R3
0x20080403, // 0007 NE R2 R2 R3
0x780A0023, // 0008 JMPF R2 #002D
0xB80A0600, // 0009 GETNGBL R2 K3
0x580C0004, // 000A LDCONST R3 K4
0x7C080200, // 000B CALL R2 1
0x8C0C0505, // 000C GETMET R3 R2 K5
0x541600FE, // 000D LDINT R5 255
0x7C0C0400, // 000E CALL R3 2
0x8C0C0506, // 000F GETMET R3 R2 K6
0xB8160E00, // 0010 GETNGBL R5 K7
0x8C140B08, // 0011 GETMET R5 R5 K8
0x881C0101, // 0012 GETMBR R7 R0 K1
0x58200009, // 0013 LDCONST R8 K9
0x542600FD, // 0014 LDINT R9 254
0x58280009, // 0015 LDCONST R10 K9
0x542E0167, // 0016 LDINT R11 360
0x7C140C00, // 0017 CALL R5 6
0xB81A0E00, // 0018 GETNGBL R6 K7
0x8C180D08, // 0019 GETMET R6 R6 K8
0x88200102, // 001A GETMBR R8 R0 K2
0x58240009, // 001B LDCONST R9 K9
0x542A00FD, // 001C LDINT R10 254
0x582C0009, // 001D LDCONST R11 K9
0x543200FE, // 001E LDINT R12 255
0x7C180C00, // 001F CALL R6 6
0x7C0C0600, // 0020 CALL R3 3
0x8C0C030A, // 0021 GETMET R3 R1 K10
0x5814000B, // 0022 LDCONST R5 K11
0x8818050C, // 0023 GETMBR R6 R2 K12
0x881C050D, // 0024 GETMBR R7 R2 K13
0x8820050E, // 0025 GETMBR R8 R2 K14
0x7C0C0A00, // 0026 CALL R3 5
0x8C10030A, // 0027 GETMET R4 R1 K10
0x5818000F, // 0028 LDCONST R6 K15
0x5C1C0600, // 0029 MOVE R7 R3
0x5C200600, // 002A MOVE R8 R3
0x7C100800, // 002B CALL R4 4
0x80040800, // 002C RET 1 R4
0x80062000, // 002D RET 1 K16
( &(const binstruction[45]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x4C080000, // 0001 LDNIL R2
0x20040202, // 0002 NE R1 R1 R2
0x78060027, // 0003 JMPF R1 #002C
0x88040101, // 0004 GETMBR R1 R0 K1
0x4C080000, // 0005 LDNIL R2
0x20040202, // 0006 NE R1 R1 R2
0x78060023, // 0007 JMPF R1 #002C
0xB8060400, // 0008 GETNGBL R1 K2
0x58080003, // 0009 LDCONST R2 K3
0x7C040200, // 000A CALL R1 1
0x8C080304, // 000B GETMET R2 R1 K4
0x541200FE, // 000C LDINT R4 255
0x7C080400, // 000D CALL R2 2
0x8C080305, // 000E GETMET R2 R1 K5
0xB8120C00, // 000F GETNGBL R4 K6
0x8C100907, // 0010 GETMET R4 R4 K7
0x88180100, // 0011 GETMBR R6 R0 K0
0x581C0008, // 0012 LDCONST R7 K8
0x542200FD, // 0013 LDINT R8 254
0x58240008, // 0014 LDCONST R9 K8
0x542A0167, // 0015 LDINT R10 360
0x7C100C00, // 0016 CALL R4 6
0xB8160C00, // 0017 GETNGBL R5 K6
0x8C140B07, // 0018 GETMET R5 R5 K7
0x881C0101, // 0019 GETMBR R7 R0 K1
0x58200008, // 001A LDCONST R8 K8
0x542600FD, // 001B LDINT R9 254
0x58280008, // 001C LDCONST R10 K8
0x542E00FE, // 001D LDINT R11 255
0x7C140C00, // 001E CALL R5 6
0x7C080600, // 001F CALL R2 3
0x60080018, // 0020 GETGBL R2 G24
0x580C0009, // 0021 LDCONST R3 K9
0x8810030A, // 0022 GETMBR R4 R1 K10
0x8814030B, // 0023 GETMBR R5 R1 K11
0x8818030C, // 0024 GETMBR R6 R1 K12
0x7C080800, // 0025 CALL R2 4
0x600C0018, // 0026 GETGBL R3 G24
0x5810000D, // 0027 LDCONST R4 K13
0x5C140400, // 0028 MOVE R5 R2
0x5C180400, // 0029 MOVE R6 R2
0x7C0C0600, // 002A CALL R3 3
0x80040600, // 002B RET 1 R3
0x80061C00, // 002C RET 1 K14
})
)
);
@ -454,7 +448,7 @@ be_local_closure(Matter_Plugin_Bridge_Light3_invoke_request, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_Light3_read_attribute, /* name */
be_nested_proto(
11, /* nstack */
10, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
@ -462,153 +456,151 @@ be_local_closure(Matter_Plugin_Bridge_Light3_read_attribute, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[15]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(attribute),
/* K5 */ be_nested_str_weak(update_shadow_lazy),
/* K6 */ be_const_int(0),
/* K7 */ be_nested_str_weak(shadow_hue),
/* K8 */ be_nested_str_weak(create_TLV),
/* K9 */ be_nested_str_weak(U1),
/* K10 */ be_nested_str_weak(NULL),
/* K11 */ be_const_int(1),
/* K12 */ be_nested_str_weak(shadow_sat),
/* K13 */ be_nested_str_weak(U4),
/* K14 */ be_nested_str_weak(read_attribute),
( &(const bvalue[14]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_nested_str_weak(update_shadow_lazy),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(shadow_hue),
/* K7 */ be_nested_str_weak(create_TLV),
/* K8 */ be_nested_str_weak(U1),
/* K9 */ be_nested_str_weak(NULL),
/* K10 */ be_const_int(1),
/* K11 */ be_nested_str_weak(shadow_sat),
/* K12 */ be_nested_str_weak(U4),
/* K13 */ be_nested_str_weak(read_attribute),
}),
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[127]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0xB8120200, // 0001 GETNGBL R4 K1
0x88100902, // 0002 GETMBR R4 R4 K2
( &(const binstruction[126]) { /* code */
0xB80E0000, // 0000 GETNGBL R3 K0
0x880C0701, // 0001 GETMBR R3 R3 K1
0x88100502, // 0002 GETMBR R4 R2 K2
0x88140503, // 0003 GETMBR R5 R2 K3
0x88180504, // 0004 GETMBR R6 R2 K4
0x541E02FF, // 0005 LDINT R7 768
0x1C1C0A07, // 0006 EQ R7 R5 R7
0x781E006D, // 0007 JMPF R7 #0076
0x8C1C0105, // 0008 GETMET R7 R0 K5
0x7C1C0200, // 0009 CALL R7 1
0x1C1C0D06, // 000A EQ R7 R6 K6
0x781E000F, // 000B JMPF R7 #001C
0x881C0107, // 000C GETMBR R7 R0 K7
0x4C200000, // 000D LDNIL R8
0x201C0E08, // 000E NE R7 R7 R8
0x781E0005, // 000F JMPF R7 #0016
0x8C1C0908, // 0010 GETMET R7 R4 K8
0x88240909, // 0011 GETMBR R9 R4 K9
0x88280107, // 0012 GETMBR R10 R0 K7
0x7C1C0600, // 0013 CALL R7 3
0x80040E00, // 0014 RET 1 R7
0x70020004, // 0015 JMP #001B
0x8C1C0908, // 0016 GETMET R7 R4 K8
0x8824090A, // 0017 GETMBR R9 R4 K10
0x4C280000, // 0018 LDNIL R10
0x7C1C0600, // 0019 CALL R7 3
0x80040E00, // 001A RET 1 R7
0x70020058, // 001B JMP #0075
0x1C1C0D0B, // 001C EQ R7 R6 K11
0x781E000F, // 001D JMPF R7 #002E
0x881C010C, // 001E GETMBR R7 R0 K12
0x4C200000, // 001F LDNIL R8
0x201C0E08, // 0020 NE R7 R7 R8
0x781E0005, // 0021 JMPF R7 #0028
0x8C1C0908, // 0022 GETMET R7 R4 K8
0x88240909, // 0023 GETMBR R9 R4 K9
0x8828010C, // 0024 GETMBR R10 R0 K12
0x7C1C0600, // 0025 CALL R7 3
0x80040E00, // 0026 RET 1 R7
0x70020004, // 0027 JMP #002D
0x8C1C0908, // 0028 GETMET R7 R4 K8
0x8824090A, // 0029 GETMBR R9 R4 K10
0x4C280000, // 002A LDNIL R10
0x7C1C0600, // 002B CALL R7 3
0x80040E00, // 002C RET 1 R7
0x70020046, // 002D JMP #0075
0x541E0006, // 002E LDINT R7 7
0x1C1C0C07, // 002F EQ R7 R6 R7
0x781E0005, // 0030 JMPF R7 #0037
0x8C1C0908, // 0031 GETMET R7 R4 K8
0x88240909, // 0032 GETMBR R9 R4 K9
0x58280006, // 0033 LDCONST R10 K6
0x7C1C0600, // 0034 CALL R7 3
0x80040E00, // 0035 RET 1 R7
0x7002003D, // 0036 JMP #0075
0x541E0007, // 0037 LDINT R7 8
0x1C1C0C07, // 0038 EQ R7 R6 R7
0x781E0005, // 0039 JMPF R7 #0040
0x8C1C0908, // 003A GETMET R7 R4 K8
0x88240909, // 003B GETMBR R9 R4 K9
0x58280006, // 003C LDCONST R10 K6
0x7C1C0600, // 003D CALL R7 3
0x80040E00, // 003E RET 1 R7
0x70020034, // 003F JMP #0075
0x541E000E, // 0040 LDINT R7 15
0x1C1C0C07, // 0041 EQ R7 R6 R7
0x781E0005, // 0042 JMPF R7 #0049
0x8C1C0908, // 0043 GETMET R7 R4 K8
0x88240909, // 0044 GETMBR R9 R4 K9
0x58280006, // 0045 LDCONST R10 K6
0x7C1C0600, // 0046 CALL R7 3
0x80040E00, // 0047 RET 1 R7
0x7002002B, // 0048 JMP #0075
0x541E4000, // 0049 LDINT R7 16385
0x1C1C0C07, // 004A EQ R7 R6 R7
0x781E0005, // 004B JMPF R7 #0052
0x8C1C0908, // 004C GETMET R7 R4 K8
0x88240909, // 004D GETMBR R9 R4 K9
0x58280006, // 004E LDCONST R10 K6
0x7C1C0600, // 004F CALL R7 3
0x80040E00, // 0050 RET 1 R7
0x70020022, // 0051 JMP #0075
0x541E4009, // 0052 LDINT R7 16394
0x1C1C0C07, // 0053 EQ R7 R6 R7
0x781E0005, // 0054 JMPF R7 #005B
0x8C1C0908, // 0055 GETMET R7 R4 K8
0x8824090D, // 0056 GETMBR R9 R4 K13
0x5828000B, // 0057 LDCONST R10 K11
0x7C1C0600, // 0058 CALL R7 3
0x80040E00, // 0059 RET 1 R7
0x70020019, // 005A JMP #0075
0x541E000F, // 005B LDINT R7 16
0x1C1C0C07, // 005C EQ R7 R6 R7
0x781E0005, // 005D JMPF R7 #0064
0x8C1C0908, // 005E GETMET R7 R4 K8
0x88240909, // 005F GETMBR R9 R4 K9
0x58280006, // 0060 LDCONST R10 K6
0x7C1C0600, // 0061 CALL R7 3
0x80040E00, // 0062 RET 1 R7
0x70020010, // 0063 JMP #0075
0x541EFFFB, // 0064 LDINT R7 65532
0x1C1C0C07, // 0065 EQ R7 R6 R7
0x781E0005, // 0066 JMPF R7 #006D
0x8C1C0908, // 0067 GETMET R7 R4 K8
0x8824090D, // 0068 GETMBR R9 R4 K13
0x5828000B, // 0069 LDCONST R10 K11
0x7C1C0600, // 006A CALL R7 3
0x80040E00, // 006B RET 1 R7
0x70020007, // 006C JMP #0075
0x541EFFFC, // 006D LDINT R7 65533
0x1C1C0C07, // 006E EQ R7 R6 R7
0x781E0004, // 006F JMPF R7 #0075
0x8C1C0908, // 0070 GETMET R7 R4 K8
0x8824090D, // 0071 GETMBR R9 R4 K13
0x542A0004, // 0072 LDINT R10 5
0x7C1C0600, // 0073 CALL R7 3
0x80040E00, // 0074 RET 1 R7
0x70020007, // 0075 JMP #007E
0x601C0003, // 0076 GETGBL R7 G3
0x5C200000, // 0077 MOVE R8 R0
0x7C1C0200, // 0078 CALL R7 1
0x8C1C0F0E, // 0079 GETMET R7 R7 K14
0x5C240200, // 007A MOVE R9 R1
0x5C280400, // 007B MOVE R10 R2
0x7C1C0600, // 007C CALL R7 3
0x80040E00, // 007D RET 1 R7
0x80000000, // 007E RET 0
0x541A02FF, // 0004 LDINT R6 768
0x1C180806, // 0005 EQ R6 R4 R6
0x781A006D, // 0006 JMPF R6 #0075
0x8C180104, // 0007 GETMET R6 R0 K4
0x7C180200, // 0008 CALL R6 1
0x1C180B05, // 0009 EQ R6 R5 K5
0x781A000F, // 000A JMPF R6 #001B
0x88180106, // 000B GETMBR R6 R0 K6
0x4C1C0000, // 000C LDNIL R7
0x20180C07, // 000D NE R6 R6 R7
0x781A0005, // 000E JMPF R6 #0015
0x8C180707, // 000F GETMET R6 R3 K7
0x88200708, // 0010 GETMBR R8 R3 K8
0x88240106, // 0011 GETMBR R9 R0 K6
0x7C180600, // 0012 CALL R6 3
0x80040C00, // 0013 RET 1 R6
0x70020004, // 0014 JMP #001A
0x8C180707, // 0015 GETMET R6 R3 K7
0x88200709, // 0016 GETMBR R8 R3 K9
0x4C240000, // 0017 LDNIL R9
0x7C180600, // 0018 CALL R6 3
0x80040C00, // 0019 RET 1 R6
0x70020058, // 001A JMP #0074
0x1C180B0A, // 001B EQ R6 R5 K10
0x781A000F, // 001C JMPF R6 #002D
0x8818010B, // 001D GETMBR R6 R0 K11
0x4C1C0000, // 001E LDNIL R7
0x20180C07, // 001F NE R6 R6 R7
0x781A0005, // 0020 JMPF R6 #0027
0x8C180707, // 0021 GETMET R6 R3 K7
0x88200708, // 0022 GETMBR R8 R3 K8
0x8824010B, // 0023 GETMBR R9 R0 K11
0x7C180600, // 0024 CALL R6 3
0x80040C00, // 0025 RET 1 R6
0x70020004, // 0026 JMP #002C
0x8C180707, // 0027 GETMET R6 R3 K7
0x88200709, // 0028 GETMBR R8 R3 K9
0x4C240000, // 0029 LDNIL R9
0x7C180600, // 002A CALL R6 3
0x80040C00, // 002B RET 1 R6
0x70020046, // 002C JMP #0074
0x541A0006, // 002D LDINT R6 7
0x1C180A06, // 002E EQ R6 R5 R6
0x781A0005, // 002F JMPF R6 #0036
0x8C180707, // 0030 GETMET R6 R3 K7
0x88200708, // 0031 GETMBR R8 R3 K8
0x58240005, // 0032 LDCONST R9 K5
0x7C180600, // 0033 CALL R6 3
0x80040C00, // 0034 RET 1 R6
0x7002003D, // 0035 JMP #0074
0x541A0007, // 0036 LDINT R6 8
0x1C180A06, // 0037 EQ R6 R5 R6
0x781A0005, // 0038 JMPF R6 #003F
0x8C180707, // 0039 GETMET R6 R3 K7
0x88200708, // 003A GETMBR R8 R3 K8
0x58240005, // 003B LDCONST R9 K5
0x7C180600, // 003C CALL R6 3
0x80040C00, // 003D RET 1 R6
0x70020034, // 003E JMP #0074
0x541A000E, // 003F LDINT R6 15
0x1C180A06, // 0040 EQ R6 R5 R6
0x781A0005, // 0041 JMPF R6 #0048
0x8C180707, // 0042 GETMET R6 R3 K7
0x88200708, // 0043 GETMBR R8 R3 K8
0x58240005, // 0044 LDCONST R9 K5
0x7C180600, // 0045 CALL R6 3
0x80040C00, // 0046 RET 1 R6
0x7002002B, // 0047 JMP #0074
0x541A4000, // 0048 LDINT R6 16385
0x1C180A06, // 0049 EQ R6 R5 R6
0x781A0005, // 004A JMPF R6 #0051
0x8C180707, // 004B GETMET R6 R3 K7
0x88200708, // 004C GETMBR R8 R3 K8
0x58240005, // 004D LDCONST R9 K5
0x7C180600, // 004E CALL R6 3
0x80040C00, // 004F RET 1 R6
0x70020022, // 0050 JMP #0074
0x541A4009, // 0051 LDINT R6 16394
0x1C180A06, // 0052 EQ R6 R5 R6
0x781A0005, // 0053 JMPF R6 #005A
0x8C180707, // 0054 GETMET R6 R3 K7
0x8820070C, // 0055 GETMBR R8 R3 K12
0x5824000A, // 0056 LDCONST R9 K10
0x7C180600, // 0057 CALL R6 3
0x80040C00, // 0058 RET 1 R6
0x70020019, // 0059 JMP #0074
0x541A000F, // 005A LDINT R6 16
0x1C180A06, // 005B EQ R6 R5 R6
0x781A0005, // 005C JMPF R6 #0063
0x8C180707, // 005D GETMET R6 R3 K7
0x88200708, // 005E GETMBR R8 R3 K8
0x58240005, // 005F LDCONST R9 K5
0x7C180600, // 0060 CALL R6 3
0x80040C00, // 0061 RET 1 R6
0x70020010, // 0062 JMP #0074
0x541AFFFB, // 0063 LDINT R6 65532
0x1C180A06, // 0064 EQ R6 R5 R6
0x781A0005, // 0065 JMPF R6 #006C
0x8C180707, // 0066 GETMET R6 R3 K7
0x8820070C, // 0067 GETMBR R8 R3 K12
0x5824000A, // 0068 LDCONST R9 K10
0x7C180600, // 0069 CALL R6 3
0x80040C00, // 006A RET 1 R6
0x70020007, // 006B JMP #0074
0x541AFFFC, // 006C LDINT R6 65533
0x1C180A06, // 006D EQ R6 R5 R6
0x781A0004, // 006E JMPF R6 #0074
0x8C180707, // 006F GETMET R6 R3 K7
0x8820070C, // 0070 GETMBR R8 R3 K12
0x54260004, // 0071 LDINT R9 5
0x7C180600, // 0072 CALL R6 3
0x80040C00, // 0073 RET 1 R6
0x70020007, // 0074 JMP #007D
0x60180003, // 0075 GETGBL R6 G3
0x5C1C0000, // 0076 MOVE R7 R0
0x7C180200, // 0077 CALL R6 1
0x8C180D0D, // 0078 GETMET R6 R6 K13
0x5C200200, // 0079 MOVE R8 R1
0x5C240400, // 007A MOVE R9 R2
0x7C180600, // 007B CALL R6 3
0x80040C00, // 007C RET 1 R6
0x80000000, // 007D RET 0
})
)
);

View File

@ -11,7 +11,7 @@ extern const bclass be_class_Matter_Plugin_Bridge_OnOff;
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_OnOff_web_values, /* name */
be_nested_proto(
12, /* nstack */
10, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -19,34 +19,31 @@ be_local_closure(Matter_Plugin_Bridge_OnOff_web_values, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 9]) { /* constants */
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(string),
/* K2 */ be_nested_str_weak(web_values_prefix),
/* K3 */ be_nested_str_weak(content_send),
/* K4 */ be_nested_str_weak(format),
/* K5 */ be_nested_str_weak(Relay_X20_X25i_X20_X25s),
/* K6 */ be_nested_str_weak(tasmota_relay_index),
/* K7 */ be_nested_str_weak(web_value_onoff),
/* K8 */ be_nested_str_weak(shadow_onoff),
/* K1 */ be_nested_str_weak(web_values_prefix),
/* K2 */ be_nested_str_weak(content_send),
/* K3 */ be_nested_str_weak(Relay_X20_X25i_X20_X25s),
/* K4 */ be_nested_str_weak(tasmota_relay_index),
/* K5 */ be_nested_str_weak(web_value_onoff),
/* K6 */ be_nested_str_weak(shadow_onoff),
}),
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[14]) { /* code */
( &(const binstruction[13]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xA40A0200, // 0001 IMPORT R2 K1
0x8C0C0102, // 0002 GETMET R3 R0 K2
0x7C0C0200, // 0003 CALL R3 1
0x8C0C0303, // 0004 GETMET R3 R1 K3
0x8C140504, // 0005 GETMET R5 R2 K4
0x581C0005, // 0006 LDCONST R7 K5
0x88200106, // 0007 GETMBR R8 R0 K6
0x8C240107, // 0008 GETMET R9 R0 K7
0x882C0108, // 0009 GETMBR R11 R0 K8
0x7C240400, // 000A CALL R9 2
0x7C140800, // 000B CALL R5 4
0x7C0C0400, // 000C CALL R3 2
0x80000000, // 000D RET 0
0x8C080101, // 0001 GETMET R2 R0 K1
0x7C080200, // 0002 CALL R2 1
0x8C080302, // 0003 GETMET R2 R1 K2
0x60100018, // 0004 GETGBL R4 G24
0x58140003, // 0005 LDCONST R5 K3
0x88180104, // 0006 GETMBR R6 R0 K4
0x8C1C0105, // 0007 GETMET R7 R0 K5
0x88240106, // 0008 GETMBR R9 R0 K6
0x7C1C0400, // 0009 CALL R7 2
0x7C100600, // 000A CALL R4 3
0x7C080400, // 000B CALL R2 2
0x80000000, // 000C RET 0
})
)
);

View File

@ -11,7 +11,7 @@ extern const bclass be_class_Matter_Plugin_Bridge_Sensor;
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_Sensor_web_values_prefix, /* name */
be_nested_proto(
12, /* nstack */
10, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -19,41 +19,38 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_web_values_prefix, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 9]) { /* constants */
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(string),
/* K2 */ be_nested_str_weak(get_name),
/* K3 */ be_nested_str_weak(filter_name_html),
/* K4 */ be_nested_str_weak(content_send),
/* K5 */ be_nested_str_weak(format),
/* K6 */ be_nested_str_weak(PREFIX),
/* K7 */ be_nested_str_weak(html_escape),
/* K8 */ be_nested_str_weak(),
/* K1 */ be_nested_str_weak(get_name),
/* K2 */ be_nested_str_weak(filter_name_html),
/* K3 */ be_nested_str_weak(content_send),
/* K4 */ be_nested_str_weak(PREFIX),
/* K5 */ be_nested_str_weak(html_escape),
/* K6 */ be_nested_str_weak(),
}),
be_str_weak(web_values_prefix),
&be_const_str_solidified,
( &(const binstruction[21]) { /* code */
( &(const binstruction[20]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xA40A0200, // 0001 IMPORT R2 K1
0x8C0C0102, // 0002 GETMET R3 R0 K2
0x7C0C0200, // 0003 CALL R3 1
0x5C100600, // 0004 MOVE R4 R3
0x74120002, // 0005 JMPT R4 #0009
0x8C100103, // 0006 GETMET R4 R0 K3
0x7C100200, // 0007 CALL R4 1
0x5C0C0800, // 0008 MOVE R3 R4
0x8C100304, // 0009 GETMET R4 R1 K4
0x8C180505, // 000A GETMET R6 R2 K5
0x88200106, // 000B GETMBR R8 R0 K6
0x780E0003, // 000C JMPF R3 #0011
0x8C240307, // 000D GETMET R9 R1 K7
0x5C2C0600, // 000E MOVE R11 R3
0x7C240400, // 000F CALL R9 2
0x70020000, // 0010 JMP #0012
0x58240008, // 0011 LDCONST R9 K8
0x7C180600, // 0012 CALL R6 3
0x7C100400, // 0013 CALL R4 2
0x80000000, // 0014 RET 0
0x8C080101, // 0001 GETMET R2 R0 K1
0x7C080200, // 0002 CALL R2 1
0x5C0C0400, // 0003 MOVE R3 R2
0x740E0002, // 0004 JMPT R3 #0008
0x8C0C0102, // 0005 GETMET R3 R0 K2
0x7C0C0200, // 0006 CALL R3 1
0x5C080600, // 0007 MOVE R2 R3
0x8C0C0303, // 0008 GETMET R3 R1 K3
0x60140018, // 0009 GETGBL R5 G24
0x88180104, // 000A GETMBR R6 R0 K4
0x780A0003, // 000B JMPF R2 #0010
0x8C1C0305, // 000C GETMET R7 R1 K5
0x5C240400, // 000D MOVE R9 R2
0x7C1C0400, // 000E CALL R7 2
0x70020000, // 000F JMP #0011
0x581C0006, // 0010 LDCONST R7 K6
0x7C140400, // 0011 CALL R5 2
0x7C0C0400, // 0012 CALL R3 2
0x80000000, // 0013 RET 0
})
)
);

View File

@ -88,7 +88,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_init, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_web_values_prefix, /* name */
be_nested_proto(
12, /* nstack */
10, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -96,44 +96,41 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_web_values_prefix, /* nam
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[10]) { /* constants */
( &(const bvalue[ 8]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(string),
/* K2 */ be_nested_str_weak(get_name),
/* K3 */ be_nested_str_weak(Switch),
/* K4 */ be_nested_str_weak(tasmota_switch_index),
/* K5 */ be_nested_str_weak(content_send),
/* K6 */ be_nested_str_weak(format),
/* K7 */ be_nested_str_weak(PREFIX),
/* K8 */ be_nested_str_weak(html_escape),
/* K9 */ be_nested_str_weak(),
/* K1 */ be_nested_str_weak(get_name),
/* K2 */ be_nested_str_weak(Switch),
/* K3 */ be_nested_str_weak(tasmota_switch_index),
/* K4 */ be_nested_str_weak(content_send),
/* K5 */ be_nested_str_weak(PREFIX),
/* K6 */ be_nested_str_weak(html_escape),
/* K7 */ be_nested_str_weak(),
}),
be_str_weak(web_values_prefix),
&be_const_str_solidified,
( &(const binstruction[23]) { /* code */
( &(const binstruction[22]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xA40A0200, // 0001 IMPORT R2 K1
0x8C0C0102, // 0002 GETMET R3 R0 K2
0x7C0C0200, // 0003 CALL R3 1
0x5C100600, // 0004 MOVE R4 R3
0x74120004, // 0005 JMPT R4 #000B
0x60100008, // 0006 GETGBL R4 G8
0x88140104, // 0007 GETMBR R5 R0 K4
0x7C100200, // 0008 CALL R4 1
0x00120604, // 0009 ADD R4 K3 R4
0x5C0C0800, // 000A MOVE R3 R4
0x8C100305, // 000B GETMET R4 R1 K5
0x8C180506, // 000C GETMET R6 R2 K6
0x88200107, // 000D GETMBR R8 R0 K7
0x780E0003, // 000E JMPF R3 #0013
0x8C240308, // 000F GETMET R9 R1 K8
0x5C2C0600, // 0010 MOVE R11 R3
0x7C240400, // 0011 CALL R9 2
0x70020000, // 0012 JMP #0014
0x58240009, // 0013 LDCONST R9 K9
0x7C180600, // 0014 CALL R6 3
0x7C100400, // 0015 CALL R4 2
0x80000000, // 0016 RET 0
0x8C080101, // 0001 GETMET R2 R0 K1
0x7C080200, // 0002 CALL R2 1
0x5C0C0400, // 0003 MOVE R3 R2
0x740E0004, // 0004 JMPT R3 #000A
0x600C0008, // 0005 GETGBL R3 G8
0x88100103, // 0006 GETMBR R4 R0 K3
0x7C0C0200, // 0007 CALL R3 1
0x000E0403, // 0008 ADD R3 K2 R3
0x5C080600, // 0009 MOVE R2 R3
0x8C0C0304, // 000A GETMET R3 R1 K4
0x60140018, // 000B GETGBL R5 G24
0x88180105, // 000C GETMBR R6 R0 K5
0x780A0003, // 000D JMPF R2 #0012
0x8C1C0306, // 000E GETMET R7 R1 K6
0x5C240400, // 000F MOVE R9 R2
0x7C1C0400, // 0010 CALL R7 2
0x70020000, // 0011 JMP #0013
0x581C0007, // 0012 LDCONST R7 K7
0x7C140400, // 0013 CALL R5 2
0x7C0C0400, // 0014 CALL R3 2
0x80000000, // 0015 RET 0
})
)
);
@ -204,7 +201,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_parse_update, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_read_attribute, /* name */
be_nested_proto(
11, /* nstack */
10, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
@ -212,77 +209,75 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_read_attribute, /* name *
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[13]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(attribute),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(shadow_contact),
/* K7 */ be_nested_str_weak(create_TLV),
/* K8 */ be_nested_str_weak(BOOL),
/* K9 */ be_nested_str_weak(NULL),
/* K10 */ be_nested_str_weak(U4),
/* K11 */ be_const_int(1),
/* K12 */ be_nested_str_weak(read_attribute),
( &(const bvalue[12]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(shadow_contact),
/* K6 */ be_nested_str_weak(create_TLV),
/* 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),
}),
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[53]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0xB8120200, // 0001 GETNGBL R4 K1
0x88100902, // 0002 GETMBR R4 R4 K2
( &(const binstruction[52]) { /* code */
0xB80E0000, // 0000 GETNGBL R3 K0
0x880C0701, // 0001 GETMBR R3 R3 K1
0x88100502, // 0002 GETMBR R4 R2 K2
0x88140503, // 0003 GETMBR R5 R2 K3
0x88180504, // 0004 GETMBR R6 R2 K4
0x541E0044, // 0005 LDINT R7 69
0x1C1C0A07, // 0006 EQ R7 R5 R7
0x781E0023, // 0007 JMPF R7 #002C
0x1C1C0D05, // 0008 EQ R7 R6 K5
0x781E000F, // 0009 JMPF R7 #001A
0x881C0106, // 000A GETMBR R7 R0 K6
0x4C200000, // 000B LDNIL R8
0x201C0E08, // 000C NE R7 R7 R8
0x781E0005, // 000D JMPF R7 #0014
0x8C1C0907, // 000E GETMET R7 R4 K7
0x88240908, // 000F GETMBR R9 R4 K8
0x88280106, // 0010 GETMBR R10 R0 K6
0x7C1C0600, // 0011 CALL R7 3
0x80040E00, // 0012 RET 1 R7
0x70020004, // 0013 JMP #0019
0x8C1C0907, // 0014 GETMET R7 R4 K7
0x88240909, // 0015 GETMBR R9 R4 K9
0x4C280000, // 0016 LDNIL R10
0x7C1C0600, // 0017 CALL R7 3
0x80040E00, // 0018 RET 1 R7
0x70020010, // 0019 JMP #002B
0x541EFFFB, // 001A LDINT R7 65532
0x1C1C0C07, // 001B EQ R7 R6 R7
0x781E0005, // 001C JMPF R7 #0023
0x8C1C0907, // 001D GETMET R7 R4 K7
0x8824090A, // 001E GETMBR R9 R4 K10
0x58280005, // 001F LDCONST R10 K5
0x7C1C0600, // 0020 CALL R7 3
0x80040E00, // 0021 RET 1 R7
0x70020007, // 0022 JMP #002B
0x541EFFFC, // 0023 LDINT R7 65533
0x1C1C0C07, // 0024 EQ R7 R6 R7
0x781E0004, // 0025 JMPF R7 #002B
0x8C1C0907, // 0026 GETMET R7 R4 K7
0x8824090A, // 0027 GETMBR R9 R4 K10
0x5828000B, // 0028 LDCONST R10 K11
0x7C1C0600, // 0029 CALL R7 3
0x80040E00, // 002A RET 1 R7
0x70020007, // 002B JMP #0034
0x601C0003, // 002C GETGBL R7 G3
0x5C200000, // 002D MOVE R8 R0
0x7C1C0200, // 002E CALL R7 1
0x8C1C0F0C, // 002F GETMET R7 R7 K12
0x5C240200, // 0030 MOVE R9 R1
0x5C280400, // 0031 MOVE R10 R2
0x7C1C0600, // 0032 CALL R7 3
0x80040E00, // 0033 RET 1 R7
0x80000000, // 0034 RET 0
0x541A0044, // 0004 LDINT R6 69
0x1C180806, // 0005 EQ R6 R4 R6
0x781A0023, // 0006 JMPF R6 #002B
0x1C180B04, // 0007 EQ R6 R5 K4
0x781A000F, // 0008 JMPF R6 #0019
0x88180105, // 0009 GETMBR R6 R0 K5
0x4C1C0000, // 000A LDNIL R7
0x20180C07, // 000B NE R6 R6 R7
0x781A0005, // 000C JMPF R6 #0013
0x8C180706, // 000D GETMET R6 R3 K6
0x88200707, // 000E GETMBR R8 R3 K7
0x88240105, // 000F GETMBR R9 R0 K5
0x7C180600, // 0010 CALL R6 3
0x80040C00, // 0011 RET 1 R6
0x70020004, // 0012 JMP #0018
0x8C180706, // 0013 GETMET R6 R3 K6
0x88200708, // 0014 GETMBR R8 R3 K8
0x4C240000, // 0015 LDNIL R9
0x7C180600, // 0016 CALL R6 3
0x80040C00, // 0017 RET 1 R6
0x70020010, // 0018 JMP #002A
0x541AFFFB, // 0019 LDINT R6 65532
0x1C180A06, // 001A EQ R6 R5 R6
0x781A0005, // 001B JMPF R6 #0022
0x8C180706, // 001C GETMET R6 R3 K6
0x88200709, // 001D GETMBR R8 R3 K9
0x58240004, // 001E LDCONST R9 K4
0x7C180600, // 001F CALL R6 3
0x80040C00, // 0020 RET 1 R6
0x70020007, // 0021 JMP #002A
0x541AFFFC, // 0022 LDINT R6 65533
0x1C180A06, // 0023 EQ R6 R5 R6
0x781A0004, // 0024 JMPF R6 #002A
0x8C180706, // 0025 GETMET R6 R3 K6
0x88200709, // 0026 GETMBR R8 R3 K9
0x5824000A, // 0027 LDCONST R9 K10
0x7C180600, // 0028 CALL R6 3
0x80040C00, // 0029 RET 1 R6
0x70020007, // 002A JMP #0033
0x60180003, // 002B GETGBL R6 G3
0x5C1C0000, // 002C MOVE R7 R0
0x7C180200, // 002D CALL R6 1
0x8C180D0B, // 002E GETMET R6 R6 K11
0x5C200200, // 002F MOVE R8 R1
0x5C240400, // 0030 MOVE R9 R2
0x7C180600, // 0031 CALL R6 3
0x80040C00, // 0032 RET 1 R6
0x80000000, // 0033 RET 0
})
)
);
@ -294,7 +289,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_read_attribute, /* name *
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_web_values, /* name */
be_nested_proto(
12, /* nstack */
10, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -302,34 +297,31 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Contact_web_values, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 9]) { /* constants */
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(string),
/* K2 */ be_nested_str_weak(web_values_prefix),
/* K3 */ be_nested_str_weak(content_send),
/* K4 */ be_nested_str_weak(format),
/* K5 */ be_nested_str_weak(Contact_X25i_X20_X25s),
/* K6 */ be_nested_str_weak(tasmota_switch_index),
/* K7 */ be_nested_str_weak(web_value_onoff),
/* K8 */ be_nested_str_weak(shadow_contact),
/* K1 */ be_nested_str_weak(web_values_prefix),
/* K2 */ be_nested_str_weak(content_send),
/* K3 */ be_nested_str_weak(Contact_X25i_X20_X25s),
/* K4 */ be_nested_str_weak(tasmota_switch_index),
/* K5 */ be_nested_str_weak(web_value_onoff),
/* K6 */ be_nested_str_weak(shadow_contact),
}),
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[14]) { /* code */
( &(const binstruction[13]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xA40A0200, // 0001 IMPORT R2 K1
0x8C0C0102, // 0002 GETMET R3 R0 K2
0x7C0C0200, // 0003 CALL R3 1
0x8C0C0303, // 0004 GETMET R3 R1 K3
0x8C140504, // 0005 GETMET R5 R2 K4
0x581C0005, // 0006 LDCONST R7 K5
0x88200106, // 0007 GETMBR R8 R0 K6
0x8C240107, // 0008 GETMET R9 R0 K7
0x882C0108, // 0009 GETMBR R11 R0 K8
0x7C240400, // 000A CALL R9 2
0x7C140800, // 000B CALL R5 4
0x7C0C0400, // 000C CALL R3 2
0x80000000, // 000D RET 0
0x8C080101, // 0001 GETMET R2 R0 K1
0x7C080200, // 0002 CALL R2 1
0x8C080302, // 0003 GETMET R2 R1 K2
0x60100018, // 0004 GETGBL R4 G24
0x58140003, // 0005 LDCONST R5 K3
0x88180104, // 0006 GETMBR R6 R0 K4
0x8C1C0105, // 0007 GETMET R7 R0 K5
0x88240106, // 0008 GETMBR R9 R0 K6
0x7C1C0400, // 0009 CALL R7 2
0x7C100600, // 000A CALL R4 3
0x7C080400, // 000B CALL R2 2
0x80000000, // 000C RET 0
})
)
);

View File

@ -44,7 +44,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Humidity_pre_value, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_Sensor_Humidity_read_attribute, /* name */
be_nested_proto(
12, /* nstack */
11, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
@ -52,97 +52,95 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Humidity_read_attribute, /* name
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[15]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(attribute),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(shadow_value),
/* K7 */ be_nested_str_weak(create_TLV),
/* K8 */ be_nested_str_weak(U2),
/* K9 */ be_nested_str_weak(NULL),
/* K10 */ be_const_int(1),
/* K11 */ be_const_int(2),
/* K12 */ be_nested_str_weak(U4),
/* K13 */ be_const_int(3),
/* K14 */ be_nested_str_weak(read_attribute),
( &(const bvalue[14]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(shadow_value),
/* K6 */ be_nested_str_weak(create_TLV),
/* K7 */ be_nested_str_weak(U2),
/* 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),
}),
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[71]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0xB8120200, // 0001 GETNGBL R4 K1
0x88100902, // 0002 GETMBR R4 R4 K2
( &(const binstruction[70]) { /* code */
0xB80E0000, // 0000 GETNGBL R3 K0
0x880C0701, // 0001 GETMBR R3 R3 K1
0x88100502, // 0002 GETMBR R4 R2 K2
0x88140503, // 0003 GETMBR R5 R2 K3
0x88180504, // 0004 GETMBR R6 R2 K4
0x541E0404, // 0005 LDINT R7 1029
0x1C1C0A07, // 0006 EQ R7 R5 R7
0x781E0035, // 0007 JMPF R7 #003E
0x1C1C0D05, // 0008 EQ R7 R6 K5
0x781E0011, // 0009 JMPF R7 #001C
0x881C0106, // 000A GETMBR R7 R0 K6
0x4C200000, // 000B LDNIL R8
0x201C0E08, // 000C NE R7 R7 R8
0x781E0007, // 000D JMPF R7 #0016
0x8C1C0907, // 000E GETMET R7 R4 K7
0x88240908, // 000F GETMBR R9 R4 K8
0x60280009, // 0010 GETGBL R10 G9
0x882C0106, // 0011 GETMBR R11 R0 K6
0x7C280200, // 0012 CALL R10 1
0x7C1C0600, // 0013 CALL R7 3
0x80040E00, // 0014 RET 1 R7
0x70020004, // 0015 JMP #001B
0x8C1C0907, // 0016 GETMET R7 R4 K7
0x88240909, // 0017 GETMBR R9 R4 K9
0x4C280000, // 0018 LDNIL R10
0x7C1C0600, // 0019 CALL R7 3
0x80040E00, // 001A RET 1 R7
0x70020020, // 001B JMP #003D
0x1C1C0D0A, // 001C EQ R7 R6 K10
0x781E0005, // 001D JMPF R7 #0024
0x8C1C0907, // 001E GETMET R7 R4 K7
0x88240908, // 001F GETMBR R9 R4 K8
0x542A01F3, // 0020 LDINT R10 500
0x7C1C0600, // 0021 CALL R7 3
0x80040E00, // 0022 RET 1 R7
0x70020018, // 0023 JMP #003D
0x1C1C0D0B, // 0024 EQ R7 R6 K11
0x781E0005, // 0025 JMPF R7 #002C
0x8C1C0907, // 0026 GETMET R7 R4 K7
0x88240908, // 0027 GETMBR R9 R4 K8
0x542A270F, // 0028 LDINT R10 10000
0x7C1C0600, // 0029 CALL R7 3
0x80040E00, // 002A RET 1 R7
0x70020010, // 002B JMP #003D
0x541EFFFB, // 002C LDINT R7 65532
0x1C1C0C07, // 002D EQ R7 R6 R7
0x781E0005, // 002E JMPF R7 #0035
0x8C1C0907, // 002F GETMET R7 R4 K7
0x8824090C, // 0030 GETMBR R9 R4 K12
0x58280005, // 0031 LDCONST R10 K5
0x7C1C0600, // 0032 CALL R7 3
0x80040E00, // 0033 RET 1 R7
0x70020007, // 0034 JMP #003D
0x541EFFFC, // 0035 LDINT R7 65533
0x1C1C0C07, // 0036 EQ R7 R6 R7
0x781E0004, // 0037 JMPF R7 #003D
0x8C1C0907, // 0038 GETMET R7 R4 K7
0x8824090C, // 0039 GETMBR R9 R4 K12
0x5828000D, // 003A LDCONST R10 K13
0x7C1C0600, // 003B CALL R7 3
0x80040E00, // 003C RET 1 R7
0x70020007, // 003D JMP #0046
0x601C0003, // 003E GETGBL R7 G3
0x5C200000, // 003F MOVE R8 R0
0x7C1C0200, // 0040 CALL R7 1
0x8C1C0F0E, // 0041 GETMET R7 R7 K14
0x5C240200, // 0042 MOVE R9 R1
0x5C280400, // 0043 MOVE R10 R2
0x7C1C0600, // 0044 CALL R7 3
0x80040E00, // 0045 RET 1 R7
0x80000000, // 0046 RET 0
0x541A0404, // 0004 LDINT R6 1029
0x1C180806, // 0005 EQ R6 R4 R6
0x781A0035, // 0006 JMPF R6 #003D
0x1C180B04, // 0007 EQ R6 R5 K4
0x781A0011, // 0008 JMPF R6 #001B
0x88180105, // 0009 GETMBR R6 R0 K5
0x4C1C0000, // 000A LDNIL R7
0x20180C07, // 000B NE R6 R6 R7
0x781A0007, // 000C JMPF R6 #0015
0x8C180706, // 000D GETMET R6 R3 K6
0x88200707, // 000E GETMBR R8 R3 K7
0x60240009, // 000F GETGBL R9 G9
0x88280105, // 0010 GETMBR R10 R0 K5
0x7C240200, // 0011 CALL R9 1
0x7C180600, // 0012 CALL R6 3
0x80040C00, // 0013 RET 1 R6
0x70020004, // 0014 JMP #001A
0x8C180706, // 0015 GETMET R6 R3 K6
0x88200708, // 0016 GETMBR R8 R3 K8
0x4C240000, // 0017 LDNIL R9
0x7C180600, // 0018 CALL R6 3
0x80040C00, // 0019 RET 1 R6
0x70020020, // 001A JMP #003C
0x1C180B09, // 001B EQ R6 R5 K9
0x781A0005, // 001C JMPF R6 #0023
0x8C180706, // 001D GETMET R6 R3 K6
0x88200707, // 001E GETMBR R8 R3 K7
0x542601F3, // 001F LDINT R9 500
0x7C180600, // 0020 CALL R6 3
0x80040C00, // 0021 RET 1 R6
0x70020018, // 0022 JMP #003C
0x1C180B0A, // 0023 EQ R6 R5 K10
0x781A0005, // 0024 JMPF R6 #002B
0x8C180706, // 0025 GETMET R6 R3 K6
0x88200707, // 0026 GETMBR R8 R3 K7
0x5426270F, // 0027 LDINT R9 10000
0x7C180600, // 0028 CALL R6 3
0x80040C00, // 0029 RET 1 R6
0x70020010, // 002A JMP #003C
0x541AFFFB, // 002B LDINT R6 65532
0x1C180A06, // 002C EQ R6 R5 R6
0x781A0005, // 002D JMPF R6 #0034
0x8C180706, // 002E GETMET R6 R3 K6
0x8820070B, // 002F GETMBR R8 R3 K11
0x58240004, // 0030 LDCONST R9 K4
0x7C180600, // 0031 CALL R6 3
0x80040C00, // 0032 RET 1 R6
0x70020007, // 0033 JMP #003C
0x541AFFFC, // 0034 LDINT R6 65533
0x1C180A06, // 0035 EQ R6 R5 R6
0x781A0004, // 0036 JMPF R6 #003C
0x8C180706, // 0037 GETMET R6 R3 K6
0x8820070B, // 0038 GETMBR R8 R3 K11
0x5824000C, // 0039 LDCONST R9 K12
0x7C180600, // 003A CALL R6 3
0x80040C00, // 003B RET 1 R6
0x70020007, // 003C JMP #0045
0x60180003, // 003D GETGBL R6 G3
0x5C1C0000, // 003E MOVE R7 R0
0x7C180200, // 003F CALL R6 1
0x8C180D0D, // 0040 GETMET R6 R6 K13
0x5C200200, // 0041 MOVE R8 R1
0x5C240400, // 0042 MOVE R9 R2
0x7C180600, // 0043 CALL R6 3
0x80040C00, // 0044 RET 1 R6
0x80000000, // 0045 RET 0
})
)
);
@ -185,7 +183,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Humidity_value_changed, /* name *
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_Sensor_Humidity_web_values, /* name */
be_nested_proto(
10, /* nstack */
8, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -193,39 +191,36 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Humidity_web_values, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 7]) { /* constants */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(string),
/* K2 */ be_nested_str_weak(web_values_prefix),
/* K3 */ be_nested_str_weak(content_send),
/* K4 */ be_nested_str_weak(format),
/* K5 */ be_nested_str_weak(_X26_X23x1F4A7_X3B_X20_X252_X2E0f_X25_X25),
/* K6 */ be_nested_str_weak(shadow_value),
/* K1 */ be_nested_str_weak(web_values_prefix),
/* K2 */ be_nested_str_weak(content_send),
/* K3 */ be_nested_str_weak(_X26_X23x1F4A7_X3B_X20_X252_X2E0f_X25_X25),
/* K4 */ be_nested_str_weak(shadow_value),
}),
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[21]) { /* code */
( &(const binstruction[20]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xA40A0200, // 0001 IMPORT R2 K1
0x8C0C0102, // 0002 GETMET R3 R0 K2
0x7C0C0200, // 0003 CALL R3 1
0x8C0C0303, // 0004 GETMET R3 R1 K3
0x8C140504, // 0005 GETMET R5 R2 K4
0x581C0005, // 0006 LDCONST R7 K5
0x88200106, // 0007 GETMBR R8 R0 K6
0x4C240000, // 0008 LDNIL R9
0x20201009, // 0009 NE R8 R8 R9
0x78220005, // 000A JMPF R8 #0011
0x6020000A, // 000B GETGBL R8 G10
0x88240106, // 000C GETMBR R9 R0 K6
0x7C200200, // 000D CALL R8 1
0x54260063, // 000E LDINT R9 100
0x0C201009, // 000F DIV R8 R8 R9
0x70020000, // 0010 JMP #0012
0x4C200000, // 0011 LDNIL R8
0x7C140600, // 0012 CALL R5 3
0x7C0C0400, // 0013 CALL R3 2
0x80000000, // 0014 RET 0
0x8C080101, // 0001 GETMET R2 R0 K1
0x7C080200, // 0002 CALL R2 1
0x8C080302, // 0003 GETMET R2 R1 K2
0x60100018, // 0004 GETGBL R4 G24
0x58140003, // 0005 LDCONST R5 K3
0x88180104, // 0006 GETMBR R6 R0 K4
0x4C1C0000, // 0007 LDNIL R7
0x20180C07, // 0008 NE R6 R6 R7
0x781A0005, // 0009 JMPF R6 #0010
0x6018000A, // 000A GETGBL R6 G10
0x881C0104, // 000B GETMBR R7 R0 K4
0x7C180200, // 000C CALL R6 1
0x541E0063, // 000D LDINT R7 100
0x0C180C07, // 000E DIV R6 R6 R7
0x70020000, // 000F JMP #0011
0x4C180000, // 0010 LDNIL R6
0x7C100400, // 0011 CALL R4 2
0x7C080400, // 0012 CALL R2 2
0x80000000, // 0013 RET 0
})
)
);

View File

@ -56,7 +56,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Illuminance_pre_value, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_Sensor_Illuminance_read_attribute, /* name */
be_nested_proto(
12, /* nstack */
11, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
@ -64,97 +64,95 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Illuminance_read_attribute, /* na
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[15]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(attribute),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(shadow_value),
/* K7 */ be_nested_str_weak(create_TLV),
/* K8 */ be_nested_str_weak(U2),
/* K9 */ be_nested_str_weak(NULL),
/* K10 */ be_const_int(1),
/* K11 */ be_const_int(2),
/* K12 */ be_nested_str_weak(U4),
/* K13 */ be_const_int(3),
/* K14 */ be_nested_str_weak(read_attribute),
( &(const bvalue[14]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(shadow_value),
/* K6 */ be_nested_str_weak(create_TLV),
/* K7 */ be_nested_str_weak(U2),
/* 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),
}),
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[71]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0xB8120200, // 0001 GETNGBL R4 K1
0x88100902, // 0002 GETMBR R4 R4 K2
( &(const binstruction[70]) { /* code */
0xB80E0000, // 0000 GETNGBL R3 K0
0x880C0701, // 0001 GETMBR R3 R3 K1
0x88100502, // 0002 GETMBR R4 R2 K2
0x88140503, // 0003 GETMBR R5 R2 K3
0x88180504, // 0004 GETMBR R6 R2 K4
0x541E03FF, // 0005 LDINT R7 1024
0x1C1C0A07, // 0006 EQ R7 R5 R7
0x781E0035, // 0007 JMPF R7 #003E
0x1C1C0D05, // 0008 EQ R7 R6 K5
0x781E0011, // 0009 JMPF R7 #001C
0x881C0106, // 000A GETMBR R7 R0 K6
0x4C200000, // 000B LDNIL R8
0x201C0E08, // 000C NE R7 R7 R8
0x781E0007, // 000D JMPF R7 #0016
0x8C1C0907, // 000E GETMET R7 R4 K7
0x88240908, // 000F GETMBR R9 R4 K8
0x60280009, // 0010 GETGBL R10 G9
0x882C0106, // 0011 GETMBR R11 R0 K6
0x7C280200, // 0012 CALL R10 1
0x7C1C0600, // 0013 CALL R7 3
0x80040E00, // 0014 RET 1 R7
0x70020004, // 0015 JMP #001B
0x8C1C0907, // 0016 GETMET R7 R4 K7
0x88240909, // 0017 GETMBR R9 R4 K9
0x4C280000, // 0018 LDNIL R10
0x7C1C0600, // 0019 CALL R7 3
0x80040E00, // 001A RET 1 R7
0x70020020, // 001B JMP #003D
0x1C1C0D0A, // 001C EQ R7 R6 K10
0x781E0005, // 001D JMPF R7 #0024
0x8C1C0907, // 001E GETMET R7 R4 K7
0x88240908, // 001F GETMBR R9 R4 K8
0x5828000A, // 0020 LDCONST R10 K10
0x7C1C0600, // 0021 CALL R7 3
0x80040E00, // 0022 RET 1 R7
0x70020018, // 0023 JMP #003D
0x1C1C0D0B, // 0024 EQ R7 R6 K11
0x781E0005, // 0025 JMPF R7 #002C
0x8C1C0907, // 0026 GETMET R7 R4 K7
0x88240908, // 0027 GETMBR R9 R4 K8
0x542AFFFD, // 0028 LDINT R10 65534
0x7C1C0600, // 0029 CALL R7 3
0x80040E00, // 002A RET 1 R7
0x70020010, // 002B JMP #003D
0x541EFFFB, // 002C LDINT R7 65532
0x1C1C0C07, // 002D EQ R7 R6 R7
0x781E0005, // 002E JMPF R7 #0035
0x8C1C0907, // 002F GETMET R7 R4 K7
0x8824090C, // 0030 GETMBR R9 R4 K12
0x58280005, // 0031 LDCONST R10 K5
0x7C1C0600, // 0032 CALL R7 3
0x80040E00, // 0033 RET 1 R7
0x70020007, // 0034 JMP #003D
0x541EFFFC, // 0035 LDINT R7 65533
0x1C1C0C07, // 0036 EQ R7 R6 R7
0x781E0004, // 0037 JMPF R7 #003D
0x8C1C0907, // 0038 GETMET R7 R4 K7
0x8824090C, // 0039 GETMBR R9 R4 K12
0x5828000D, // 003A LDCONST R10 K13
0x7C1C0600, // 003B CALL R7 3
0x80040E00, // 003C RET 1 R7
0x70020007, // 003D JMP #0046
0x601C0003, // 003E GETGBL R7 G3
0x5C200000, // 003F MOVE R8 R0
0x7C1C0200, // 0040 CALL R7 1
0x8C1C0F0E, // 0041 GETMET R7 R7 K14
0x5C240200, // 0042 MOVE R9 R1
0x5C280400, // 0043 MOVE R10 R2
0x7C1C0600, // 0044 CALL R7 3
0x80040E00, // 0045 RET 1 R7
0x80000000, // 0046 RET 0
0x541A03FF, // 0004 LDINT R6 1024
0x1C180806, // 0005 EQ R6 R4 R6
0x781A0035, // 0006 JMPF R6 #003D
0x1C180B04, // 0007 EQ R6 R5 K4
0x781A0011, // 0008 JMPF R6 #001B
0x88180105, // 0009 GETMBR R6 R0 K5
0x4C1C0000, // 000A LDNIL R7
0x20180C07, // 000B NE R6 R6 R7
0x781A0007, // 000C JMPF R6 #0015
0x8C180706, // 000D GETMET R6 R3 K6
0x88200707, // 000E GETMBR R8 R3 K7
0x60240009, // 000F GETGBL R9 G9
0x88280105, // 0010 GETMBR R10 R0 K5
0x7C240200, // 0011 CALL R9 1
0x7C180600, // 0012 CALL R6 3
0x80040C00, // 0013 RET 1 R6
0x70020004, // 0014 JMP #001A
0x8C180706, // 0015 GETMET R6 R3 K6
0x88200708, // 0016 GETMBR R8 R3 K8
0x4C240000, // 0017 LDNIL R9
0x7C180600, // 0018 CALL R6 3
0x80040C00, // 0019 RET 1 R6
0x70020020, // 001A JMP #003C
0x1C180B09, // 001B EQ R6 R5 K9
0x781A0005, // 001C JMPF R6 #0023
0x8C180706, // 001D GETMET R6 R3 K6
0x88200707, // 001E GETMBR R8 R3 K7
0x58240009, // 001F LDCONST R9 K9
0x7C180600, // 0020 CALL R6 3
0x80040C00, // 0021 RET 1 R6
0x70020018, // 0022 JMP #003C
0x1C180B0A, // 0023 EQ R6 R5 K10
0x781A0005, // 0024 JMPF R6 #002B
0x8C180706, // 0025 GETMET R6 R3 K6
0x88200707, // 0026 GETMBR R8 R3 K7
0x5426FFFD, // 0027 LDINT R9 65534
0x7C180600, // 0028 CALL R6 3
0x80040C00, // 0029 RET 1 R6
0x70020010, // 002A JMP #003C
0x541AFFFB, // 002B LDINT R6 65532
0x1C180A06, // 002C EQ R6 R5 R6
0x781A0005, // 002D JMPF R6 #0034
0x8C180706, // 002E GETMET R6 R3 K6
0x8820070B, // 002F GETMBR R8 R3 K11
0x58240004, // 0030 LDCONST R9 K4
0x7C180600, // 0031 CALL R6 3
0x80040C00, // 0032 RET 1 R6
0x70020007, // 0033 JMP #003C
0x541AFFFC, // 0034 LDINT R6 65533
0x1C180A06, // 0035 EQ R6 R5 R6
0x781A0004, // 0036 JMPF R6 #003C
0x8C180706, // 0037 GETMET R6 R3 K6
0x8820070B, // 0038 GETMBR R8 R3 K11
0x5824000C, // 0039 LDCONST R9 K12
0x7C180600, // 003A CALL R6 3
0x80040C00, // 003B RET 1 R6
0x70020007, // 003C JMP #0045
0x60180003, // 003D GETGBL R6 G3
0x5C1C0000, // 003E MOVE R7 R0
0x7C180200, // 003F CALL R6 1
0x8C180D0D, // 0040 GETMET R6 R6 K13
0x5C200200, // 0041 MOVE R8 R1
0x5C240400, // 0042 MOVE R9 R2
0x7C180600, // 0043 CALL R6 3
0x80040C00, // 0044 RET 1 R6
0x80000000, // 0045 RET 0
})
)
);
@ -197,7 +195,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Illuminance_value_changed, /* nam
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_Sensor_Illuminance_web_values, /* name */
be_nested_proto(
10, /* nstack */
8, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -205,31 +203,28 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Illuminance_web_values, /* name *
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 7]) { /* constants */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(string),
/* K2 */ be_nested_str_weak(web_values_prefix),
/* K3 */ be_nested_str_weak(content_send),
/* K4 */ be_nested_str_weak(format),
/* K5 */ be_nested_str_weak(_X26_X23128261_X3B_X20_X25ilux),
/* K6 */ be_nested_str_weak(shadow_value),
/* K1 */ be_nested_str_weak(web_values_prefix),
/* K2 */ be_nested_str_weak(content_send),
/* K3 */ be_nested_str_weak(_X26_X23128261_X3B_X20_X25ilux),
/* K4 */ be_nested_str_weak(shadow_value),
}),
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
( &(const binstruction[12]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xA40A0200, // 0001 IMPORT R2 K1
0x8C0C0102, // 0002 GETMET R3 R0 K2
0x7C0C0200, // 0003 CALL R3 1
0x8C0C0303, // 0004 GETMET R3 R1 K3
0x8C140504, // 0005 GETMET R5 R2 K4
0x581C0005, // 0006 LDCONST R7 K5
0x60200009, // 0007 GETGBL R8 G9
0x88240106, // 0008 GETMBR R9 R0 K6
0x7C200200, // 0009 CALL R8 1
0x7C140600, // 000A CALL R5 3
0x7C0C0400, // 000B CALL R3 2
0x80000000, // 000C RET 0
0x8C080101, // 0001 GETMET R2 R0 K1
0x7C080200, // 0002 CALL R2 1
0x8C080302, // 0003 GETMET R2 R1 K2
0x60100018, // 0004 GETGBL R4 G24
0x58140003, // 0005 LDCONST R5 K3
0x60180009, // 0006 GETGBL R6 G9
0x881C0104, // 0007 GETMBR R7 R0 K4
0x7C180200, // 0008 CALL R6 1
0x7C100400, // 0009 CALL R4 2
0x7C080400, // 000A CALL R2 2
0x80000000, // 000B RET 0
})
)
);

View File

@ -147,7 +147,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_parse_update, /* name *
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_web_values_prefix, /* name */
be_nested_proto(
12, /* nstack */
10, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -155,44 +155,41 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_web_values_prefix, /* n
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[10]) { /* constants */
( &(const bvalue[ 8]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(string),
/* K2 */ be_nested_str_weak(get_name),
/* K3 */ be_nested_str_weak(Switch),
/* K4 */ be_nested_str_weak(tasmota_switch_index),
/* K5 */ be_nested_str_weak(content_send),
/* K6 */ be_nested_str_weak(format),
/* K7 */ be_nested_str_weak(PREFIX),
/* K8 */ be_nested_str_weak(html_escape),
/* K9 */ be_nested_str_weak(),
/* K1 */ be_nested_str_weak(get_name),
/* K2 */ be_nested_str_weak(Switch),
/* K3 */ be_nested_str_weak(tasmota_switch_index),
/* K4 */ be_nested_str_weak(content_send),
/* K5 */ be_nested_str_weak(PREFIX),
/* K6 */ be_nested_str_weak(html_escape),
/* K7 */ be_nested_str_weak(),
}),
be_str_weak(web_values_prefix),
&be_const_str_solidified,
( &(const binstruction[23]) { /* code */
( &(const binstruction[22]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xA40A0200, // 0001 IMPORT R2 K1
0x8C0C0102, // 0002 GETMET R3 R0 K2
0x7C0C0200, // 0003 CALL R3 1
0x5C100600, // 0004 MOVE R4 R3
0x74120004, // 0005 JMPT R4 #000B
0x60100008, // 0006 GETGBL R4 G8
0x88140104, // 0007 GETMBR R5 R0 K4
0x7C100200, // 0008 CALL R4 1
0x00120604, // 0009 ADD R4 K3 R4
0x5C0C0800, // 000A MOVE R3 R4
0x8C100305, // 000B GETMET R4 R1 K5
0x8C180506, // 000C GETMET R6 R2 K6
0x88200107, // 000D GETMBR R8 R0 K7
0x780E0003, // 000E JMPF R3 #0013
0x8C240308, // 000F GETMET R9 R1 K8
0x5C2C0600, // 0010 MOVE R11 R3
0x7C240400, // 0011 CALL R9 2
0x70020000, // 0012 JMP #0014
0x58240009, // 0013 LDCONST R9 K9
0x7C180600, // 0014 CALL R6 3
0x7C100400, // 0015 CALL R4 2
0x80000000, // 0016 RET 0
0x8C080101, // 0001 GETMET R2 R0 K1
0x7C080200, // 0002 CALL R2 1
0x5C0C0400, // 0003 MOVE R3 R2
0x740E0004, // 0004 JMPT R3 #000A
0x600C0008, // 0005 GETGBL R3 G8
0x88100103, // 0006 GETMBR R4 R0 K3
0x7C0C0200, // 0007 CALL R3 1
0x000E0403, // 0008 ADD R3 K2 R3
0x5C080600, // 0009 MOVE R2 R3
0x8C0C0304, // 000A GETMET R3 R1 K4
0x60140018, // 000B GETGBL R5 G24
0x88180105, // 000C GETMBR R6 R0 K5
0x780A0003, // 000D JMPF R2 #0012
0x8C1C0306, // 000E GETMET R7 R1 K6
0x5C240400, // 000F MOVE R9 R2
0x7C1C0400, // 0010 CALL R7 2
0x70020000, // 0011 JMP #0013
0x581C0007, // 0012 LDCONST R7 K7
0x7C140400, // 0013 CALL R5 2
0x7C0C0400, // 0014 CALL R3 2
0x80000000, // 0015 RET 0
})
)
);
@ -204,7 +201,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_web_values_prefix, /* n
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_read_attribute, /* name */
be_nested_proto(
11, /* nstack */
10, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
@ -212,95 +209,93 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_read_attribute, /* name
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[15]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(attribute),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(shadow_occupancy),
/* K7 */ be_nested_str_weak(create_TLV),
/* K8 */ be_nested_str_weak(U1),
/* K9 */ be_nested_str_weak(NULL),
/* K10 */ be_const_int(1),
/* K11 */ be_const_int(3),
/* K12 */ be_const_int(2),
/* K13 */ be_nested_str_weak(U4),
/* K14 */ be_nested_str_weak(read_attribute),
( &(const bvalue[14]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(shadow_occupancy),
/* K6 */ be_nested_str_weak(create_TLV),
/* K7 */ be_nested_str_weak(U1),
/* K8 */ be_nested_str_weak(NULL),
/* 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),
}),
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[69]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0xB8120200, // 0001 GETNGBL R4 K1
0x88100902, // 0002 GETMBR R4 R4 K2
( &(const binstruction[68]) { /* code */
0xB80E0000, // 0000 GETNGBL R3 K0
0x880C0701, // 0001 GETMBR R3 R3 K1
0x88100502, // 0002 GETMBR R4 R2 K2
0x88140503, // 0003 GETMBR R5 R2 K3
0x88180504, // 0004 GETMBR R6 R2 K4
0x541E0405, // 0005 LDINT R7 1030
0x1C1C0A07, // 0006 EQ R7 R5 R7
0x781E0033, // 0007 JMPF R7 #003C
0x1C1C0D05, // 0008 EQ R7 R6 K5
0x781E000F, // 0009 JMPF R7 #001A
0x881C0106, // 000A GETMBR R7 R0 K6
0x4C200000, // 000B LDNIL R8
0x201C0E08, // 000C NE R7 R7 R8
0x781E0005, // 000D JMPF R7 #0014
0x8C1C0907, // 000E GETMET R7 R4 K7
0x88240908, // 000F GETMBR R9 R4 K8
0x88280106, // 0010 GETMBR R10 R0 K6
0x7C1C0600, // 0011 CALL R7 3
0x80040E00, // 0012 RET 1 R7
0x70020004, // 0013 JMP #0019
0x8C1C0907, // 0014 GETMET R7 R4 K7
0x88240909, // 0015 GETMBR R9 R4 K9
0x4C280000, // 0016 LDNIL R10
0x7C1C0600, // 0017 CALL R7 3
0x80040E00, // 0018 RET 1 R7
0x70020020, // 0019 JMP #003B
0x1C1C0D0A, // 001A EQ R7 R6 K10
0x781E0005, // 001B JMPF R7 #0022
0x8C1C0907, // 001C GETMET R7 R4 K7
0x88240908, // 001D GETMBR R9 R4 K8
0x5828000B, // 001E LDCONST R10 K11
0x7C1C0600, // 001F CALL R7 3
0x80040E00, // 0020 RET 1 R7
0x70020018, // 0021 JMP #003B
0x1C1C0D0C, // 0022 EQ R7 R6 K12
0x781E0005, // 0023 JMPF R7 #002A
0x8C1C0907, // 0024 GETMET R7 R4 K7
0x88240908, // 0025 GETMBR R9 R4 K8
0x58280005, // 0026 LDCONST R10 K5
0x7C1C0600, // 0027 CALL R7 3
0x80040E00, // 0028 RET 1 R7
0x70020010, // 0029 JMP #003B
0x541EFFFB, // 002A LDINT R7 65532
0x1C1C0C07, // 002B EQ R7 R6 R7
0x781E0005, // 002C JMPF R7 #0033
0x8C1C0907, // 002D GETMET R7 R4 K7
0x8824090D, // 002E GETMBR R9 R4 K13
0x58280005, // 002F LDCONST R10 K5
0x7C1C0600, // 0030 CALL R7 3
0x80040E00, // 0031 RET 1 R7
0x70020007, // 0032 JMP #003B
0x541EFFFC, // 0033 LDINT R7 65533
0x1C1C0C07, // 0034 EQ R7 R6 R7
0x781E0004, // 0035 JMPF R7 #003B
0x8C1C0907, // 0036 GETMET R7 R4 K7
0x8824090D, // 0037 GETMBR R9 R4 K13
0x5828000B, // 0038 LDCONST R10 K11
0x7C1C0600, // 0039 CALL R7 3
0x80040E00, // 003A RET 1 R7
0x70020007, // 003B JMP #0044
0x601C0003, // 003C GETGBL R7 G3
0x5C200000, // 003D MOVE R8 R0
0x7C1C0200, // 003E CALL R7 1
0x8C1C0F0E, // 003F GETMET R7 R7 K14
0x5C240200, // 0040 MOVE R9 R1
0x5C280400, // 0041 MOVE R10 R2
0x7C1C0600, // 0042 CALL R7 3
0x80040E00, // 0043 RET 1 R7
0x80000000, // 0044 RET 0
0x541A0405, // 0004 LDINT R6 1030
0x1C180806, // 0005 EQ R6 R4 R6
0x781A0033, // 0006 JMPF R6 #003B
0x1C180B04, // 0007 EQ R6 R5 K4
0x781A000F, // 0008 JMPF R6 #0019
0x88180105, // 0009 GETMBR R6 R0 K5
0x4C1C0000, // 000A LDNIL R7
0x20180C07, // 000B NE R6 R6 R7
0x781A0005, // 000C JMPF R6 #0013
0x8C180706, // 000D GETMET R6 R3 K6
0x88200707, // 000E GETMBR R8 R3 K7
0x88240105, // 000F GETMBR R9 R0 K5
0x7C180600, // 0010 CALL R6 3
0x80040C00, // 0011 RET 1 R6
0x70020004, // 0012 JMP #0018
0x8C180706, // 0013 GETMET R6 R3 K6
0x88200708, // 0014 GETMBR R8 R3 K8
0x4C240000, // 0015 LDNIL R9
0x7C180600, // 0016 CALL R6 3
0x80040C00, // 0017 RET 1 R6
0x70020020, // 0018 JMP #003A
0x1C180B09, // 0019 EQ R6 R5 K9
0x781A0005, // 001A JMPF R6 #0021
0x8C180706, // 001B GETMET R6 R3 K6
0x88200707, // 001C GETMBR R8 R3 K7
0x5824000A, // 001D LDCONST R9 K10
0x7C180600, // 001E CALL R6 3
0x80040C00, // 001F RET 1 R6
0x70020018, // 0020 JMP #003A
0x1C180B0B, // 0021 EQ R6 R5 K11
0x781A0005, // 0022 JMPF R6 #0029
0x8C180706, // 0023 GETMET R6 R3 K6
0x88200707, // 0024 GETMBR R8 R3 K7
0x58240004, // 0025 LDCONST R9 K4
0x7C180600, // 0026 CALL R6 3
0x80040C00, // 0027 RET 1 R6
0x70020010, // 0028 JMP #003A
0x541AFFFB, // 0029 LDINT R6 65532
0x1C180A06, // 002A EQ R6 R5 R6
0x781A0005, // 002B JMPF R6 #0032
0x8C180706, // 002C GETMET R6 R3 K6
0x8820070C, // 002D GETMBR R8 R3 K12
0x58240004, // 002E LDCONST R9 K4
0x7C180600, // 002F CALL R6 3
0x80040C00, // 0030 RET 1 R6
0x70020007, // 0031 JMP #003A
0x541AFFFC, // 0032 LDINT R6 65533
0x1C180A06, // 0033 EQ R6 R5 R6
0x781A0004, // 0034 JMPF R6 #003A
0x8C180706, // 0035 GETMET R6 R3 K6
0x8820070C, // 0036 GETMBR R8 R3 K12
0x5824000A, // 0037 LDCONST R9 K10
0x7C180600, // 0038 CALL R6 3
0x80040C00, // 0039 RET 1 R6
0x70020007, // 003A JMP #0043
0x60180003, // 003B GETGBL R6 G3
0x5C1C0000, // 003C MOVE R7 R0
0x7C180200, // 003D CALL R6 1
0x8C180D0D, // 003E GETMET R6 R6 K13
0x5C200200, // 003F MOVE R8 R1
0x5C240400, // 0040 MOVE R9 R2
0x7C180600, // 0041 CALL R6 3
0x80040C00, // 0042 RET 1 R6
0x80000000, // 0043 RET 0
})
)
);
@ -312,7 +307,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_read_attribute, /* name
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_web_values, /* name */
be_nested_proto(
12, /* nstack */
10, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -320,34 +315,31 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Occupancy_web_values, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 9]) { /* constants */
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(string),
/* K2 */ be_nested_str_weak(web_values_prefix),
/* K3 */ be_nested_str_weak(content_send),
/* K4 */ be_nested_str_weak(format),
/* K5 */ be_nested_str_weak(Occupancy_X25i_X20_X25s),
/* K6 */ be_nested_str_weak(tasmota_switch_index),
/* K7 */ be_nested_str_weak(web_value_onoff),
/* K8 */ be_nested_str_weak(shadow_occupancy),
/* K1 */ be_nested_str_weak(web_values_prefix),
/* K2 */ be_nested_str_weak(content_send),
/* K3 */ be_nested_str_weak(Occupancy_X25i_X20_X25s),
/* K4 */ be_nested_str_weak(tasmota_switch_index),
/* K5 */ be_nested_str_weak(web_value_onoff),
/* K6 */ be_nested_str_weak(shadow_occupancy),
}),
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[14]) { /* code */
( &(const binstruction[13]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xA40A0200, // 0001 IMPORT R2 K1
0x8C0C0102, // 0002 GETMET R3 R0 K2
0x7C0C0200, // 0003 CALL R3 1
0x8C0C0303, // 0004 GETMET R3 R1 K3
0x8C140504, // 0005 GETMET R5 R2 K4
0x581C0005, // 0006 LDCONST R7 K5
0x88200106, // 0007 GETMBR R8 R0 K6
0x8C240107, // 0008 GETMET R9 R0 K7
0x882C0108, // 0009 GETMBR R11 R0 K8
0x7C240400, // 000A CALL R9 2
0x7C140800, // 000B CALL R5 4
0x7C0C0400, // 000C CALL R3 2
0x80000000, // 000D RET 0
0x8C080101, // 0001 GETMET R2 R0 K1
0x7C080200, // 0002 CALL R2 1
0x8C080302, // 0003 GETMET R2 R1 K2
0x60100018, // 0004 GETGBL R4 G24
0x58140003, // 0005 LDCONST R5 K3
0x88180104, // 0006 GETMBR R6 R0 K4
0x8C1C0105, // 0007 GETMET R7 R0 K5
0x88240106, // 0008 GETMBR R9 R0 K6
0x7C1C0400, // 0009 CALL R7 2
0x7C100600, // 000A CALL R4 3
0x7C080400, // 000B CALL R2 2
0x80000000, // 000C RET 0
})
)
);

View File

@ -43,7 +43,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Pressure_pre_value, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_Sensor_Pressure_read_attribute, /* name */
be_nested_proto(
12, /* nstack */
11, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
@ -51,97 +51,95 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Pressure_read_attribute, /* name
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[15]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(attribute),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(shadow_value),
/* K7 */ be_nested_str_weak(create_TLV),
/* K8 */ be_nested_str_weak(I2),
/* K9 */ be_nested_str_weak(NULL),
/* K10 */ be_const_int(1),
/* K11 */ be_const_int(2),
/* K12 */ be_nested_str_weak(U4),
/* K13 */ be_const_int(3),
/* K14 */ be_nested_str_weak(read_attribute),
( &(const bvalue[14]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(shadow_value),
/* K6 */ be_nested_str_weak(create_TLV),
/* K7 */ be_nested_str_weak(I2),
/* 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),
}),
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[71]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0xB8120200, // 0001 GETNGBL R4 K1
0x88100902, // 0002 GETMBR R4 R4 K2
( &(const binstruction[70]) { /* code */
0xB80E0000, // 0000 GETNGBL R3 K0
0x880C0701, // 0001 GETMBR R3 R3 K1
0x88100502, // 0002 GETMBR R4 R2 K2
0x88140503, // 0003 GETMBR R5 R2 K3
0x88180504, // 0004 GETMBR R6 R2 K4
0x541E0402, // 0005 LDINT R7 1027
0x1C1C0A07, // 0006 EQ R7 R5 R7
0x781E0035, // 0007 JMPF R7 #003E
0x1C1C0D05, // 0008 EQ R7 R6 K5
0x781E0011, // 0009 JMPF R7 #001C
0x881C0106, // 000A GETMBR R7 R0 K6
0x4C200000, // 000B LDNIL R8
0x201C0E08, // 000C NE R7 R7 R8
0x781E0007, // 000D JMPF R7 #0016
0x8C1C0907, // 000E GETMET R7 R4 K7
0x88240908, // 000F GETMBR R9 R4 K8
0x60280009, // 0010 GETGBL R10 G9
0x882C0106, // 0011 GETMBR R11 R0 K6
0x7C280200, // 0012 CALL R10 1
0x7C1C0600, // 0013 CALL R7 3
0x80040E00, // 0014 RET 1 R7
0x70020004, // 0015 JMP #001B
0x8C1C0907, // 0016 GETMET R7 R4 K7
0x88240909, // 0017 GETMBR R9 R4 K9
0x4C280000, // 0018 LDNIL R10
0x7C1C0600, // 0019 CALL R7 3
0x80040E00, // 001A RET 1 R7
0x70020020, // 001B JMP #003D
0x1C1C0D0A, // 001C EQ R7 R6 K10
0x781E0005, // 001D JMPF R7 #0024
0x8C1C0907, // 001E GETMET R7 R4 K7
0x88240908, // 001F GETMBR R9 R4 K8
0x542A01F3, // 0020 LDINT R10 500
0x7C1C0600, // 0021 CALL R7 3
0x80040E00, // 0022 RET 1 R7
0x70020018, // 0023 JMP #003D
0x1C1C0D0B, // 0024 EQ R7 R6 K11
0x781E0005, // 0025 JMPF R7 #002C
0x8C1C0907, // 0026 GETMET R7 R4 K7
0x88240908, // 0027 GETMBR R9 R4 K8
0x542A05DB, // 0028 LDINT R10 1500
0x7C1C0600, // 0029 CALL R7 3
0x80040E00, // 002A RET 1 R7
0x70020010, // 002B JMP #003D
0x541EFFFB, // 002C LDINT R7 65532
0x1C1C0C07, // 002D EQ R7 R6 R7
0x781E0005, // 002E JMPF R7 #0035
0x8C1C0907, // 002F GETMET R7 R4 K7
0x8824090C, // 0030 GETMBR R9 R4 K12
0x58280005, // 0031 LDCONST R10 K5
0x7C1C0600, // 0032 CALL R7 3
0x80040E00, // 0033 RET 1 R7
0x70020007, // 0034 JMP #003D
0x541EFFFC, // 0035 LDINT R7 65533
0x1C1C0C07, // 0036 EQ R7 R6 R7
0x781E0004, // 0037 JMPF R7 #003D
0x8C1C0907, // 0038 GETMET R7 R4 K7
0x8824090C, // 0039 GETMBR R9 R4 K12
0x5828000D, // 003A LDCONST R10 K13
0x7C1C0600, // 003B CALL R7 3
0x80040E00, // 003C RET 1 R7
0x70020007, // 003D JMP #0046
0x601C0003, // 003E GETGBL R7 G3
0x5C200000, // 003F MOVE R8 R0
0x7C1C0200, // 0040 CALL R7 1
0x8C1C0F0E, // 0041 GETMET R7 R7 K14
0x5C240200, // 0042 MOVE R9 R1
0x5C280400, // 0043 MOVE R10 R2
0x7C1C0600, // 0044 CALL R7 3
0x80040E00, // 0045 RET 1 R7
0x80000000, // 0046 RET 0
0x541A0402, // 0004 LDINT R6 1027
0x1C180806, // 0005 EQ R6 R4 R6
0x781A0035, // 0006 JMPF R6 #003D
0x1C180B04, // 0007 EQ R6 R5 K4
0x781A0011, // 0008 JMPF R6 #001B
0x88180105, // 0009 GETMBR R6 R0 K5
0x4C1C0000, // 000A LDNIL R7
0x20180C07, // 000B NE R6 R6 R7
0x781A0007, // 000C JMPF R6 #0015
0x8C180706, // 000D GETMET R6 R3 K6
0x88200707, // 000E GETMBR R8 R3 K7
0x60240009, // 000F GETGBL R9 G9
0x88280105, // 0010 GETMBR R10 R0 K5
0x7C240200, // 0011 CALL R9 1
0x7C180600, // 0012 CALL R6 3
0x80040C00, // 0013 RET 1 R6
0x70020004, // 0014 JMP #001A
0x8C180706, // 0015 GETMET R6 R3 K6
0x88200708, // 0016 GETMBR R8 R3 K8
0x4C240000, // 0017 LDNIL R9
0x7C180600, // 0018 CALL R6 3
0x80040C00, // 0019 RET 1 R6
0x70020020, // 001A JMP #003C
0x1C180B09, // 001B EQ R6 R5 K9
0x781A0005, // 001C JMPF R6 #0023
0x8C180706, // 001D GETMET R6 R3 K6
0x88200707, // 001E GETMBR R8 R3 K7
0x542601F3, // 001F LDINT R9 500
0x7C180600, // 0020 CALL R6 3
0x80040C00, // 0021 RET 1 R6
0x70020018, // 0022 JMP #003C
0x1C180B0A, // 0023 EQ R6 R5 K10
0x781A0005, // 0024 JMPF R6 #002B
0x8C180706, // 0025 GETMET R6 R3 K6
0x88200707, // 0026 GETMBR R8 R3 K7
0x542605DB, // 0027 LDINT R9 1500
0x7C180600, // 0028 CALL R6 3
0x80040C00, // 0029 RET 1 R6
0x70020010, // 002A JMP #003C
0x541AFFFB, // 002B LDINT R6 65532
0x1C180A06, // 002C EQ R6 R5 R6
0x781A0005, // 002D JMPF R6 #0034
0x8C180706, // 002E GETMET R6 R3 K6
0x8820070B, // 002F GETMBR R8 R3 K11
0x58240004, // 0030 LDCONST R9 K4
0x7C180600, // 0031 CALL R6 3
0x80040C00, // 0032 RET 1 R6
0x70020007, // 0033 JMP #003C
0x541AFFFC, // 0034 LDINT R6 65533
0x1C180A06, // 0035 EQ R6 R5 R6
0x781A0004, // 0036 JMPF R6 #003C
0x8C180706, // 0037 GETMET R6 R3 K6
0x8820070B, // 0038 GETMBR R8 R3 K11
0x5824000C, // 0039 LDCONST R9 K12
0x7C180600, // 003A CALL R6 3
0x80040C00, // 003B RET 1 R6
0x70020007, // 003C JMP #0045
0x60180003, // 003D GETGBL R6 G3
0x5C1C0000, // 003E MOVE R7 R0
0x7C180200, // 003F CALL R6 1
0x8C180D0D, // 0040 GETMET R6 R6 K13
0x5C200200, // 0041 MOVE R8 R1
0x5C240400, // 0042 MOVE R9 R2
0x7C180600, // 0043 CALL R6 3
0x80040C00, // 0044 RET 1 R6
0x80000000, // 0045 RET 0
})
)
);
@ -184,7 +182,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Pressure_value_changed, /* name *
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_Sensor_Pressure_web_values, /* name */
be_nested_proto(
10, /* nstack */
8, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -192,31 +190,28 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Pressure_web_values, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 7]) { /* constants */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(string),
/* K2 */ be_nested_str_weak(web_values_prefix),
/* K3 */ be_nested_str_weak(content_send),
/* K4 */ be_nested_str_weak(format),
/* K5 */ be_nested_str_weak(_X26_X23x26C5_X3B_X20_X25i_X20hPa),
/* K6 */ be_nested_str_weak(shadow_value),
/* K1 */ be_nested_str_weak(web_values_prefix),
/* K2 */ be_nested_str_weak(content_send),
/* K3 */ be_nested_str_weak(_X26_X23x26C5_X3B_X20_X25i_X20hPa),
/* K4 */ be_nested_str_weak(shadow_value),
}),
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[13]) { /* code */
( &(const binstruction[12]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xA40A0200, // 0001 IMPORT R2 K1
0x8C0C0102, // 0002 GETMET R3 R0 K2
0x7C0C0200, // 0003 CALL R3 1
0x8C0C0303, // 0004 GETMET R3 R1 K3
0x8C140504, // 0005 GETMET R5 R2 K4
0x581C0005, // 0006 LDCONST R7 K5
0x60200009, // 0007 GETGBL R8 G9
0x88240106, // 0008 GETMBR R9 R0 K6
0x7C200200, // 0009 CALL R8 1
0x7C140600, // 000A CALL R5 3
0x7C0C0400, // 000B CALL R3 2
0x80000000, // 000C RET 0
0x8C080101, // 0001 GETMET R2 R0 K1
0x7C080200, // 0002 CALL R2 1
0x8C080302, // 0003 GETMET R2 R1 K2
0x60100018, // 0004 GETGBL R4 G24
0x58140003, // 0005 LDCONST R5 K3
0x60180009, // 0006 GETGBL R6 G9
0x881C0104, // 0007 GETMBR R7 R0 K4
0x7C180200, // 0008 CALL R6 1
0x7C100400, // 0009 CALL R4 2
0x7C080400, // 000A CALL R2 2
0x80000000, // 000B RET 0
})
)
);

View File

@ -44,7 +44,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Temp_pre_value, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_Sensor_Temp_read_attribute, /* name */
be_nested_proto(
11, /* nstack */
10, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
@ -52,94 +52,92 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Temp_read_attribute, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[14]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(attribute),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(shadow_value),
/* K7 */ be_nested_str_weak(create_TLV),
/* K8 */ be_nested_str_weak(I2),
/* K9 */ be_nested_str_weak(NULL),
/* K10 */ be_const_int(1),
/* K11 */ be_const_int(2),
/* K12 */ be_nested_str_weak(U4),
/* K13 */ be_nested_str_weak(read_attribute),
( &(const bvalue[13]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(shadow_value),
/* K6 */ be_nested_str_weak(create_TLV),
/* K7 */ be_nested_str_weak(I2),
/* 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),
}),
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[69]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0xB8120200, // 0001 GETNGBL R4 K1
0x88100902, // 0002 GETMBR R4 R4 K2
( &(const binstruction[68]) { /* code */
0xB80E0000, // 0000 GETNGBL R3 K0
0x880C0701, // 0001 GETMBR R3 R3 K1
0x88100502, // 0002 GETMBR R4 R2 K2
0x88140503, // 0003 GETMBR R5 R2 K3
0x88180504, // 0004 GETMBR R6 R2 K4
0x541E0401, // 0005 LDINT R7 1026
0x1C1C0A07, // 0006 EQ R7 R5 R7
0x781E0033, // 0007 JMPF R7 #003C
0x1C1C0D05, // 0008 EQ R7 R6 K5
0x781E000F, // 0009 JMPF R7 #001A
0x881C0106, // 000A GETMBR R7 R0 K6
0x4C200000, // 000B LDNIL R8
0x201C0E08, // 000C NE R7 R7 R8
0x781E0005, // 000D JMPF R7 #0014
0x8C1C0907, // 000E GETMET R7 R4 K7
0x88240908, // 000F GETMBR R9 R4 K8
0x88280106, // 0010 GETMBR R10 R0 K6
0x7C1C0600, // 0011 CALL R7 3
0x80040E00, // 0012 RET 1 R7
0x70020004, // 0013 JMP #0019
0x8C1C0907, // 0014 GETMET R7 R4 K7
0x88240909, // 0015 GETMBR R9 R4 K9
0x4C280000, // 0016 LDNIL R10
0x7C1C0600, // 0017 CALL R7 3
0x80040E00, // 0018 RET 1 R7
0x70020020, // 0019 JMP #003B
0x1C1C0D0A, // 001A EQ R7 R6 K10
0x781E0005, // 001B JMPF R7 #0022
0x8C1C0907, // 001C GETMET R7 R4 K7
0x88240908, // 001D GETMBR R9 R4 K8
0x5429EC77, // 001E LDINT R10 -5000
0x7C1C0600, // 001F CALL R7 3
0x80040E00, // 0020 RET 1 R7
0x70020018, // 0021 JMP #003B
0x1C1C0D0B, // 0022 EQ R7 R6 K11
0x781E0005, // 0023 JMPF R7 #002A
0x8C1C0907, // 0024 GETMET R7 R4 K7
0x88240908, // 0025 GETMBR R9 R4 K8
0x542A3A97, // 0026 LDINT R10 15000
0x7C1C0600, // 0027 CALL R7 3
0x80040E00, // 0028 RET 1 R7
0x70020010, // 0029 JMP #003B
0x541EFFFB, // 002A LDINT R7 65532
0x1C1C0C07, // 002B EQ R7 R6 R7
0x781E0005, // 002C JMPF R7 #0033
0x8C1C0907, // 002D GETMET R7 R4 K7
0x8824090C, // 002E GETMBR R9 R4 K12
0x58280005, // 002F LDCONST R10 K5
0x7C1C0600, // 0030 CALL R7 3
0x80040E00, // 0031 RET 1 R7
0x70020007, // 0032 JMP #003B
0x541EFFFC, // 0033 LDINT R7 65533
0x1C1C0C07, // 0034 EQ R7 R6 R7
0x781E0004, // 0035 JMPF R7 #003B
0x8C1C0907, // 0036 GETMET R7 R4 K7
0x8824090C, // 0037 GETMBR R9 R4 K12
0x542A0003, // 0038 LDINT R10 4
0x7C1C0600, // 0039 CALL R7 3
0x80040E00, // 003A RET 1 R7
0x70020007, // 003B JMP #0044
0x601C0003, // 003C GETGBL R7 G3
0x5C200000, // 003D MOVE R8 R0
0x7C1C0200, // 003E CALL R7 1
0x8C1C0F0D, // 003F GETMET R7 R7 K13
0x5C240200, // 0040 MOVE R9 R1
0x5C280400, // 0041 MOVE R10 R2
0x7C1C0600, // 0042 CALL R7 3
0x80040E00, // 0043 RET 1 R7
0x80000000, // 0044 RET 0
0x541A0401, // 0004 LDINT R6 1026
0x1C180806, // 0005 EQ R6 R4 R6
0x781A0033, // 0006 JMPF R6 #003B
0x1C180B04, // 0007 EQ R6 R5 K4
0x781A000F, // 0008 JMPF R6 #0019
0x88180105, // 0009 GETMBR R6 R0 K5
0x4C1C0000, // 000A LDNIL R7
0x20180C07, // 000B NE R6 R6 R7
0x781A0005, // 000C JMPF R6 #0013
0x8C180706, // 000D GETMET R6 R3 K6
0x88200707, // 000E GETMBR R8 R3 K7
0x88240105, // 000F GETMBR R9 R0 K5
0x7C180600, // 0010 CALL R6 3
0x80040C00, // 0011 RET 1 R6
0x70020004, // 0012 JMP #0018
0x8C180706, // 0013 GETMET R6 R3 K6
0x88200708, // 0014 GETMBR R8 R3 K8
0x4C240000, // 0015 LDNIL R9
0x7C180600, // 0016 CALL R6 3
0x80040C00, // 0017 RET 1 R6
0x70020020, // 0018 JMP #003A
0x1C180B09, // 0019 EQ R6 R5 K9
0x781A0005, // 001A JMPF R6 #0021
0x8C180706, // 001B GETMET R6 R3 K6
0x88200707, // 001C GETMBR R8 R3 K7
0x5425EC77, // 001D LDINT R9 -5000
0x7C180600, // 001E CALL R6 3
0x80040C00, // 001F RET 1 R6
0x70020018, // 0020 JMP #003A
0x1C180B0A, // 0021 EQ R6 R5 K10
0x781A0005, // 0022 JMPF R6 #0029
0x8C180706, // 0023 GETMET R6 R3 K6
0x88200707, // 0024 GETMBR R8 R3 K7
0x54263A97, // 0025 LDINT R9 15000
0x7C180600, // 0026 CALL R6 3
0x80040C00, // 0027 RET 1 R6
0x70020010, // 0028 JMP #003A
0x541AFFFB, // 0029 LDINT R6 65532
0x1C180A06, // 002A EQ R6 R5 R6
0x781A0005, // 002B JMPF R6 #0032
0x8C180706, // 002C GETMET R6 R3 K6
0x8820070B, // 002D GETMBR R8 R3 K11
0x58240004, // 002E LDCONST R9 K4
0x7C180600, // 002F CALL R6 3
0x80040C00, // 0030 RET 1 R6
0x70020007, // 0031 JMP #003A
0x541AFFFC, // 0032 LDINT R6 65533
0x1C180A06, // 0033 EQ R6 R5 R6
0x781A0004, // 0034 JMPF R6 #003A
0x8C180706, // 0035 GETMET R6 R3 K6
0x8820070B, // 0036 GETMBR R8 R3 K11
0x54260003, // 0037 LDINT R9 4
0x7C180600, // 0038 CALL R6 3
0x80040C00, // 0039 RET 1 R6
0x70020007, // 003A JMP #0043
0x60180003, // 003B GETGBL R6 G3
0x5C1C0000, // 003C MOVE R7 R0
0x7C180200, // 003D CALL R6 1
0x8C180D0C, // 003E GETMET R6 R6 K12
0x5C200200, // 003F MOVE R8 R1
0x5C240400, // 0040 MOVE R9 R2
0x7C180600, // 0041 CALL R6 3
0x80040C00, // 0042 RET 1 R6
0x80000000, // 0043 RET 0
})
)
);
@ -182,7 +180,7 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Temp_value_changed, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_Bridge_Sensor_Temp_web_values, /* name */
be_nested_proto(
10, /* nstack */
8, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -190,39 +188,36 @@ be_local_closure(Matter_Plugin_Bridge_Sensor_Temp_web_values, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 7]) { /* constants */
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_nested_str_weak(webserver),
/* K1 */ be_nested_str_weak(string),
/* K2 */ be_nested_str_weak(web_values_prefix),
/* K3 */ be_nested_str_weak(content_send),
/* K4 */ be_nested_str_weak(format),
/* K5 */ be_nested_str_weak(_X26_X23x2600_X3B_X26_X23xFE0F_X3B_X20_X25_X2E1f_X20_XC2_XB0C),
/* K6 */ be_nested_str_weak(shadow_value),
/* K1 */ be_nested_str_weak(web_values_prefix),
/* K2 */ be_nested_str_weak(content_send),
/* K3 */ be_nested_str_weak(_X26_X23x2600_X3B_X26_X23xFE0F_X3B_X20_X25_X2E1f_X20_XC2_XB0C),
/* K4 */ be_nested_str_weak(shadow_value),
}),
be_str_weak(web_values),
&be_const_str_solidified,
( &(const binstruction[21]) { /* code */
( &(const binstruction[20]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xA40A0200, // 0001 IMPORT R2 K1
0x8C0C0102, // 0002 GETMET R3 R0 K2
0x7C0C0200, // 0003 CALL R3 1
0x8C0C0303, // 0004 GETMET R3 R1 K3
0x8C140504, // 0005 GETMET R5 R2 K4
0x581C0005, // 0006 LDCONST R7 K5
0x88200106, // 0007 GETMBR R8 R0 K6
0x4C240000, // 0008 LDNIL R9
0x20201009, // 0009 NE R8 R8 R9
0x78220005, // 000A JMPF R8 #0011
0x6020000A, // 000B GETGBL R8 G10
0x88240106, // 000C GETMBR R9 R0 K6
0x7C200200, // 000D CALL R8 1
0x54260063, // 000E LDINT R9 100
0x0C201009, // 000F DIV R8 R8 R9
0x70020000, // 0010 JMP #0012
0x4C200000, // 0011 LDNIL R8
0x7C140600, // 0012 CALL R5 3
0x7C0C0400, // 0013 CALL R3 2
0x80000000, // 0014 RET 0
0x8C080101, // 0001 GETMET R2 R0 K1
0x7C080200, // 0002 CALL R2 1
0x8C080302, // 0003 GETMET R2 R1 K2
0x60100018, // 0004 GETGBL R4 G24
0x58140003, // 0005 LDCONST R5 K3
0x88180104, // 0006 GETMBR R6 R0 K4
0x4C1C0000, // 0007 LDNIL R7
0x20180C07, // 0008 NE R6 R6 R7
0x781A0005, // 0009 JMPF R6 #0010
0x6018000A, // 000A GETGBL R6 G10
0x881C0104, // 000B GETMBR R7 R0 K4
0x7C180200, // 000C CALL R6 1
0x541E0063, // 000D LDINT R7 100
0x0C180C07, // 000E DIV R6 R6 R7
0x70020000, // 000F JMP #0011
0x4C180000, // 0010 LDNIL R6
0x7C100400, // 0011 CALL R4 2
0x7C080400, // 0012 CALL R2 2
0x80000000, // 0013 RET 0
})
)
);

View File

@ -202,7 +202,7 @@ be_local_closure(Matter_Plugin_Device_invoke_request, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_Device_read_attribute, /* name */
be_nested_proto(
17, /* nstack */
16, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
@ -210,216 +210,214 @@ be_local_closure(Matter_Plugin_Device_read_attribute, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[24]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(attribute),
/* K5 */ be_const_int(3),
/* K6 */ be_const_int(0),
/* K7 */ be_nested_str_weak(create_TLV),
/* K8 */ be_nested_str_weak(U2),
/* K9 */ be_const_int(1),
/* K10 */ be_nested_str_weak(U1),
/* K11 */ be_nested_str_weak(U4),
/* K12 */ be_nested_str_weak(Matter_TLV_array),
/* K13 */ be_nested_str_weak(TYPES),
/* K14 */ be_nested_str_weak(keys),
/* K15 */ be_nested_str_weak(add_struct),
/* K16 */ be_nested_str_weak(add_TLV),
/* K17 */ be_nested_str_weak(stop_iteration),
/* K18 */ be_nested_str_weak(NON_BRIDGE_VENDOR),
/* K19 */ be_nested_str_weak(find),
/* K20 */ be_nested_str_weak(get_admin_vendor),
/* K21 */ be_nested_str_weak(read_attribute),
/* K22 */ be_nested_str_weak(UTF1),
/* K23 */ be_nested_str_weak(get_name),
( &(const bvalue[23]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_const_int(3),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(create_TLV),
/* 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(read_attribute),
/* K21 */ be_nested_str_weak(UTF1),
/* K22 */ be_nested_str_weak(get_name),
}),
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[181]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0xB8120200, // 0001 GETNGBL R4 K1
0x88100902, // 0002 GETMBR R4 R4 K2
( &(const binstruction[180]) { /* code */
0xB80E0000, // 0000 GETNGBL R3 K0
0x880C0701, // 0001 GETMBR R3 R3 K1
0x88100502, // 0002 GETMBR R4 R2 K2
0x88140503, // 0003 GETMBR R5 R2 K3
0x88180504, // 0004 GETMBR R6 R2 K4
0x1C1C0B05, // 0005 EQ R7 R5 K5
0x781E0021, // 0006 JMPF R7 #0029
0x1C1C0D06, // 0007 EQ R7 R6 K6
0x781E0005, // 0008 JMPF R7 #000F
0x8C1C0907, // 0009 GETMET R7 R4 K7
0x88240908, // 000A GETMBR R9 R4 K8
0x58280006, // 000B LDCONST R10 K6
0x7C1C0600, // 000C CALL R7 3
0x80040E00, // 000D RET 1 R7
0x70020018, // 000E JMP #0028
0x1C1C0D09, // 000F EQ R7 R6 K9
0x781E0005, // 0010 JMPF R7 #0017
0x8C1C0907, // 0011 GETMET R7 R4 K7
0x8824090A, // 0012 GETMBR R9 R4 K10
0x58280006, // 0013 LDCONST R10 K6
0x7C1C0600, // 0014 CALL R7 3
0x80040E00, // 0015 RET 1 R7
0x70020010, // 0016 JMP #0028
0x541EFFFB, // 0017 LDINT R7 65532
0x1C1C0C07, // 0018 EQ R7 R6 R7
0x781E0005, // 0019 JMPF R7 #0020
0x8C1C0907, // 001A GETMET R7 R4 K7
0x8824090B, // 001B GETMBR R9 R4 K11
0x58280006, // 001C LDCONST R10 K6
0x7C1C0600, // 001D CALL R7 3
0x80040E00, // 001E RET 1 R7
0x70020007, // 001F JMP #0028
0x541EFFFC, // 0020 LDINT R7 65533
0x1C1C0C07, // 0021 EQ R7 R6 R7
0x781E0004, // 0022 JMPF R7 #0028
0x8C1C0907, // 0023 GETMET R7 R4 K7
0x8824090B, // 0024 GETMBR R9 R4 K11
0x542A0003, // 0025 LDINT R10 4
0x7C1C0600, // 0026 CALL R7 3
0x80040E00, // 0027 RET 1 R7
0x7002008A, // 0028 JMP #00B4
0x541E0003, // 0029 LDINT R7 4
0x1C1C0A07, // 002A EQ R7 R5 R7
0x781E0016, // 002B JMPF R7 #0043
0x1C1C0D06, // 002C EQ R7 R6 K6
0x781E0002, // 002D JMPF R7 #0031
0x4C1C0000, // 002E LDNIL R7
0x80040E00, // 002F RET 1 R7
0x70020010, // 0030 JMP #0042
0x541EFFFB, // 0031 LDINT R7 65532
0x1C1C0C07, // 0032 EQ R7 R6 R7
0x781E0005, // 0033 JMPF R7 #003A
0x8C1C0907, // 0034 GETMET R7 R4 K7
0x8824090B, // 0035 GETMBR R9 R4 K11
0x58280006, // 0036 LDCONST R10 K6
0x7C1C0600, // 0037 CALL R7 3
0x80040E00, // 0038 RET 1 R7
0x70020007, // 0039 JMP #0042
0x541EFFFC, // 003A LDINT R7 65533
0x1C1C0C07, // 003B EQ R7 R6 R7
0x781E0004, // 003C JMPF R7 #0042
0x8C1C0907, // 003D GETMET R7 R4 K7
0x8824090B, // 003E GETMBR R9 R4 K11
0x542A0003, // 003F LDINT R10 4
0x7C1C0600, // 0040 CALL R7 3
0x80040E00, // 0041 RET 1 R7
0x70020070, // 0042 JMP #00B4
0x541E0004, // 0043 LDINT R7 5
0x1C1C0A07, // 0044 EQ R7 R5 R7
0x781E0011, // 0045 JMPF R7 #0058
0x541EFFFB, // 0046 LDINT R7 65532
0x1C1C0C07, // 0047 EQ R7 R6 R7
0x781E0005, // 0048 JMPF R7 #004F
0x8C1C0907, // 0049 GETMET R7 R4 K7
0x8824090B, // 004A GETMBR R9 R4 K11
0x58280006, // 004B LDCONST R10 K6
0x7C1C0600, // 004C CALL R7 3
0x80040E00, // 004D RET 1 R7
0x70020007, // 004E JMP #0057
0x541EFFFC, // 004F LDINT R7 65533
0x1C1C0C07, // 0050 EQ R7 R6 R7
0x781E0004, // 0051 JMPF R7 #0057
0x8C1C0907, // 0052 GETMET R7 R4 K7
0x8824090B, // 0053 GETMBR R9 R4 K11
0x542A0003, // 0054 LDINT R10 4
0x7C1C0600, // 0055 CALL R7 3
0x80040E00, // 0056 RET 1 R7
0x7002005B, // 0057 JMP #00B4
0x541E001C, // 0058 LDINT R7 29
0x1C1C0A07, // 0059 EQ R7 R5 R7
0x781E003A, // 005A JMPF R7 #0096
0x1C1C0D06, // 005B EQ R7 R6 K6
0x781E002F, // 005C JMPF R7 #008D
0x8C1C090C, // 005D GETMET R7 R4 K12
0x7C1C0200, // 005E CALL R7 1
0x8820010D, // 005F GETMBR R8 R0 K13
0x60240010, // 0060 GETGBL R9 G16
0x8C28110E, // 0061 GETMET R10 R8 K14
0x7C280200, // 0062 CALL R10 1
0x7C240200, // 0063 CALL R9 1
0xA802000E, // 0064 EXBLK 0 #0074
0x5C281200, // 0065 MOVE R10 R9
0x7C280000, // 0066 CALL R10 0
0x8C2C0F0F, // 0067 GETMET R11 R7 K15
0x7C2C0200, // 0068 CALL R11 1
0x8C301710, // 0069 GETMET R12 R11 K16
0x58380006, // 006A LDCONST R14 K6
0x883C0908, // 006B GETMBR R15 R4 K8
0x5C401400, // 006C MOVE R16 R10
0x7C300800, // 006D CALL R12 4
0x8C301710, // 006E GETMET R12 R11 K16
0x58380009, // 006F LDCONST R14 K9
0x883C0908, // 0070 GETMBR R15 R4 K8
0x9440100A, // 0071 GETIDX R16 R8 R10
0x7C300800, // 0072 CALL R12 4
0x7001FFF0, // 0073 JMP #0065
0x58240011, // 0074 LDCONST R9 K17
0xAC240200, // 0075 CATCH R9 1 0
0xB0080000, // 0076 RAISE 2 R0 R0
0x88240112, // 0077 GETMBR R9 R0 K18
0x8C241313, // 0078 GETMET R9 R9 K19
0x8C2C0314, // 0079 GETMET R11 R1 K20
0x7C2C0200, // 007A CALL R11 1
0x7C240400, // 007B CALL R9 2
0x4C280000, // 007C LDNIL R10
0x1C24120A, // 007D EQ R9 R9 R10
0x7826000B, // 007E JMPF R9 #008B
0x8C240F0F, // 007F GETMET R9 R7 K15
0x7C240200, // 0080 CALL R9 1
0x8C281310, // 0081 GETMET R10 R9 K16
0x58300006, // 0082 LDCONST R12 K6
0x88340908, // 0083 GETMBR R13 R4 K8
0x543A0012, // 0084 LDINT R14 19
0x7C280800, // 0085 CALL R10 4
0x8C281310, // 0086 GETMET R10 R9 K16
0x58300009, // 0087 LDCONST R12 K9
0x88340908, // 0088 GETMBR R13 R4 K8
0x58380009, // 0089 LDCONST R14 K9
0x7C280800, // 008A CALL R10 4
0x80040E00, // 008B RET 1 R7
0x70020007, // 008C JMP #0095
0x601C0003, // 008D GETGBL R7 G3
0x5C200000, // 008E MOVE R8 R0
0x7C1C0200, // 008F CALL R7 1
0x8C1C0F15, // 0090 GETMET R7 R7 K21
0x5C240200, // 0091 MOVE R9 R1
0x5C280400, // 0092 MOVE R10 R2
0x7C1C0600, // 0093 CALL R7 3
0x80040E00, // 0094 RET 1 R7
0x7002001D, // 0095 JMP #00B4
0x541E0038, // 0096 LDINT R7 57
0x1C1C0A07, // 0097 EQ R7 R5 R7
0x781E0012, // 0098 JMPF R7 #00AC
0x541E0004, // 0099 LDINT R7 5
0x1C1C0C07, // 009A EQ R7 R6 R7
0x781E0006, // 009B JMPF R7 #00A3
0x8C1C0907, // 009C GETMET R7 R4 K7
0x88240916, // 009D GETMBR R9 R4 K22
0x8C280117, // 009E GETMET R10 R0 K23
0x7C280200, // 009F CALL R10 1
0x7C1C0600, // 00A0 CALL R7 3
0x80040E00, // 00A1 RET 1 R7
0x70020007, // 00A2 JMP #00AB
0x601C0003, // 00A3 GETGBL R7 G3
0x5C200000, // 00A4 MOVE R8 R0
0x7C1C0200, // 00A5 CALL R7 1
0x8C1C0F15, // 00A6 GETMET R7 R7 K21
0x5C240200, // 00A7 MOVE R9 R1
0x5C280400, // 00A8 MOVE R10 R2
0x7C1C0600, // 00A9 CALL R7 3
0x80040E00, // 00AA RET 1 R7
0x70020007, // 00AB JMP #00B4
0x601C0003, // 00AC GETGBL R7 G3
0x5C200000, // 00AD MOVE R8 R0
0x7C1C0200, // 00AE CALL R7 1
0x8C1C0F15, // 00AF GETMET R7 R7 K21
0x5C240200, // 00B0 MOVE R9 R1
0x5C280400, // 00B1 MOVE R10 R2
0x7C1C0600, // 00B2 CALL R7 3
0x80040E00, // 00B3 RET 1 R7
0x80000000, // 00B4 RET 0
0x1C180904, // 0004 EQ R6 R4 K4
0x781A0021, // 0005 JMPF R6 #0028
0x1C180B05, // 0006 EQ R6 R5 K5
0x781A0005, // 0007 JMPF R6 #000E
0x8C180706, // 0008 GETMET R6 R3 K6
0x88200707, // 0009 GETMBR R8 R3 K7
0x58240005, // 000A LDCONST R9 K5
0x7C180600, // 000B CALL R6 3
0x80040C00, // 000C RET 1 R6
0x70020018, // 000D JMP #0027
0x1C180B08, // 000E EQ R6 R5 K8
0x781A0005, // 000F JMPF R6 #0016
0x8C180706, // 0010 GETMET R6 R3 K6
0x88200709, // 0011 GETMBR R8 R3 K9
0x58240005, // 0012 LDCONST R9 K5
0x7C180600, // 0013 CALL R6 3
0x80040C00, // 0014 RET 1 R6
0x70020010, // 0015 JMP #0027
0x541AFFFB, // 0016 LDINT R6 65532
0x1C180A06, // 0017 EQ R6 R5 R6
0x781A0005, // 0018 JMPF R6 #001F
0x8C180706, // 0019 GETMET R6 R3 K6
0x8820070A, // 001A GETMBR R8 R3 K10
0x58240005, // 001B LDCONST R9 K5
0x7C180600, // 001C CALL R6 3
0x80040C00, // 001D RET 1 R6
0x70020007, // 001E JMP #0027
0x541AFFFC, // 001F LDINT R6 65533
0x1C180A06, // 0020 EQ R6 R5 R6
0x781A0004, // 0021 JMPF R6 #0027
0x8C180706, // 0022 GETMET R6 R3 K6
0x8820070A, // 0023 GETMBR R8 R3 K10
0x54260003, // 0024 LDINT R9 4
0x7C180600, // 0025 CALL R6 3
0x80040C00, // 0026 RET 1 R6
0x7002008A, // 0027 JMP #00B3
0x541A0003, // 0028 LDINT R6 4
0x1C180806, // 0029 EQ R6 R4 R6
0x781A0016, // 002A JMPF R6 #0042
0x1C180B05, // 002B EQ R6 R5 K5
0x781A0002, // 002C JMPF R6 #0030
0x4C180000, // 002D LDNIL R6
0x80040C00, // 002E RET 1 R6
0x70020010, // 002F JMP #0041
0x541AFFFB, // 0030 LDINT R6 65532
0x1C180A06, // 0031 EQ R6 R5 R6
0x781A0005, // 0032 JMPF R6 #0039
0x8C180706, // 0033 GETMET R6 R3 K6
0x8820070A, // 0034 GETMBR R8 R3 K10
0x58240005, // 0035 LDCONST R9 K5
0x7C180600, // 0036 CALL R6 3
0x80040C00, // 0037 RET 1 R6
0x70020007, // 0038 JMP #0041
0x541AFFFC, // 0039 LDINT R6 65533
0x1C180A06, // 003A EQ R6 R5 R6
0x781A0004, // 003B JMPF R6 #0041
0x8C180706, // 003C GETMET R6 R3 K6
0x8820070A, // 003D GETMBR R8 R3 K10
0x54260003, // 003E LDINT R9 4
0x7C180600, // 003F CALL R6 3
0x80040C00, // 0040 RET 1 R6
0x70020070, // 0041 JMP #00B3
0x541A0004, // 0042 LDINT R6 5
0x1C180806, // 0043 EQ R6 R4 R6
0x781A0011, // 0044 JMPF R6 #0057
0x541AFFFB, // 0045 LDINT R6 65532
0x1C180A06, // 0046 EQ R6 R5 R6
0x781A0005, // 0047 JMPF R6 #004E
0x8C180706, // 0048 GETMET R6 R3 K6
0x8820070A, // 0049 GETMBR R8 R3 K10
0x58240005, // 004A LDCONST R9 K5
0x7C180600, // 004B CALL R6 3
0x80040C00, // 004C RET 1 R6
0x70020007, // 004D JMP #0056
0x541AFFFC, // 004E LDINT R6 65533
0x1C180A06, // 004F EQ R6 R5 R6
0x781A0004, // 0050 JMPF R6 #0056
0x8C180706, // 0051 GETMET R6 R3 K6
0x8820070A, // 0052 GETMBR R8 R3 K10
0x54260003, // 0053 LDINT R9 4
0x7C180600, // 0054 CALL R6 3
0x80040C00, // 0055 RET 1 R6
0x7002005B, // 0056 JMP #00B3
0x541A001C, // 0057 LDINT R6 29
0x1C180806, // 0058 EQ R6 R4 R6
0x781A003A, // 0059 JMPF R6 #0095
0x1C180B05, // 005A EQ R6 R5 K5
0x781A002F, // 005B JMPF R6 #008C
0x8C18070B, // 005C GETMET R6 R3 K11
0x7C180200, // 005D CALL R6 1
0x881C010C, // 005E GETMBR R7 R0 K12
0x60200010, // 005F GETGBL R8 G16
0x8C240F0D, // 0060 GETMET R9 R7 K13
0x7C240200, // 0061 CALL R9 1
0x7C200200, // 0062 CALL R8 1
0xA802000E, // 0063 EXBLK 0 #0073
0x5C241000, // 0064 MOVE R9 R8
0x7C240000, // 0065 CALL R9 0
0x8C280D0E, // 0066 GETMET R10 R6 K14
0x7C280200, // 0067 CALL R10 1
0x8C2C150F, // 0068 GETMET R11 R10 K15
0x58340005, // 0069 LDCONST R13 K5
0x88380707, // 006A GETMBR R14 R3 K7
0x5C3C1200, // 006B MOVE R15 R9
0x7C2C0800, // 006C CALL R11 4
0x8C2C150F, // 006D GETMET R11 R10 K15
0x58340008, // 006E LDCONST R13 K8
0x88380707, // 006F GETMBR R14 R3 K7
0x943C0E09, // 0070 GETIDX R15 R7 R9
0x7C2C0800, // 0071 CALL R11 4
0x7001FFF0, // 0072 JMP #0064
0x58200010, // 0073 LDCONST R8 K16
0xAC200200, // 0074 CATCH R8 1 0
0xB0080000, // 0075 RAISE 2 R0 R0
0x88200111, // 0076 GETMBR R8 R0 K17
0x8C201112, // 0077 GETMET R8 R8 K18
0x8C280313, // 0078 GETMET R10 R1 K19
0x7C280200, // 0079 CALL R10 1
0x7C200400, // 007A CALL R8 2
0x4C240000, // 007B LDNIL R9
0x1C201009, // 007C EQ R8 R8 R9
0x7822000B, // 007D JMPF R8 #008A
0x8C200D0E, // 007E GETMET R8 R6 K14
0x7C200200, // 007F CALL R8 1
0x8C24110F, // 0080 GETMET R9 R8 K15
0x582C0005, // 0081 LDCONST R11 K5
0x88300707, // 0082 GETMBR R12 R3 K7
0x54360012, // 0083 LDINT R13 19
0x7C240800, // 0084 CALL R9 4
0x8C24110F, // 0085 GETMET R9 R8 K15
0x582C0008, // 0086 LDCONST R11 K8
0x88300707, // 0087 GETMBR R12 R3 K7
0x58340008, // 0088 LDCONST R13 K8
0x7C240800, // 0089 CALL R9 4
0x80040C00, // 008A RET 1 R6
0x70020007, // 008B JMP #0094
0x60180003, // 008C GETGBL R6 G3
0x5C1C0000, // 008D MOVE R7 R0
0x7C180200, // 008E CALL R6 1
0x8C180D14, // 008F GETMET R6 R6 K20
0x5C200200, // 0090 MOVE R8 R1
0x5C240400, // 0091 MOVE R9 R2
0x7C180600, // 0092 CALL R6 3
0x80040C00, // 0093 RET 1 R6
0x7002001D, // 0094 JMP #00B3
0x541A0038, // 0095 LDINT R6 57
0x1C180806, // 0096 EQ R6 R4 R6
0x781A0012, // 0097 JMPF R6 #00AB
0x541A0004, // 0098 LDINT R6 5
0x1C180A06, // 0099 EQ R6 R5 R6
0x781A0006, // 009A JMPF R6 #00A2
0x8C180706, // 009B GETMET R6 R3 K6
0x88200715, // 009C GETMBR R8 R3 K21
0x8C240116, // 009D GETMET R9 R0 K22
0x7C240200, // 009E CALL R9 1
0x7C180600, // 009F CALL R6 3
0x80040C00, // 00A0 RET 1 R6
0x70020007, // 00A1 JMP #00AA
0x60180003, // 00A2 GETGBL R6 G3
0x5C1C0000, // 00A3 MOVE R7 R0
0x7C180200, // 00A4 CALL R6 1
0x8C180D14, // 00A5 GETMET R6 R6 K20
0x5C200200, // 00A6 MOVE R8 R1
0x5C240400, // 00A7 MOVE R9 R2
0x7C180600, // 00A8 CALL R6 3
0x80040C00, // 00A9 RET 1 R6
0x70020007, // 00AA JMP #00B3
0x60180003, // 00AB GETGBL R6 G3
0x5C1C0000, // 00AC MOVE R7 R0
0x7C180200, // 00AD CALL R6 1
0x8C180D14, // 00AE GETMET R6 R6 K20
0x5C200200, // 00AF MOVE R8 R1
0x5C240400, // 00B0 MOVE R9 R2
0x7C180600, // 00B1 CALL R6 3
0x80040C00, // 00B2 RET 1 R6
0x80000000, // 00B3 RET 0
})
)
);

View File

@ -67,7 +67,7 @@ be_local_closure(Matter_Plugin_Light0_update_shadow, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_Light0_read_attribute, /* name */
be_nested_proto(
11, /* nstack */
10, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
@ -75,68 +75,66 @@ be_local_closure(Matter_Plugin_Light0_read_attribute, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[12]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(attribute),
/* K5 */ be_nested_str_weak(update_shadow_lazy),
/* K6 */ be_const_int(0),
/* K7 */ be_nested_str_weak(create_TLV),
/* K8 */ be_nested_str_weak(BOOL),
/* K9 */ be_nested_str_weak(shadow_onoff),
/* K10 */ be_nested_str_weak(U4),
/* K11 */ be_nested_str_weak(read_attribute),
( &(const bvalue[11]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_nested_str_weak(update_shadow_lazy),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(create_TLV),
/* 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),
}),
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[45]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0xB8120200, // 0001 GETNGBL R4 K1
0x88100902, // 0002 GETMBR R4 R4 K2
( &(const binstruction[44]) { /* code */
0xB80E0000, // 0000 GETNGBL R3 K0
0x880C0701, // 0001 GETMBR R3 R3 K1
0x88100502, // 0002 GETMBR R4 R2 K2
0x88140503, // 0003 GETMBR R5 R2 K3
0x88180504, // 0004 GETMBR R6 R2 K4
0x541E0005, // 0005 LDINT R7 6
0x1C1C0A07, // 0006 EQ R7 R5 R7
0x781E001B, // 0007 JMPF R7 #0024
0x8C1C0105, // 0008 GETMET R7 R0 K5
0x7C1C0200, // 0009 CALL R7 1
0x1C1C0D06, // 000A EQ R7 R6 K6
0x781E0005, // 000B JMPF R7 #0012
0x8C1C0907, // 000C GETMET R7 R4 K7
0x88240908, // 000D GETMBR R9 R4 K8
0x88280109, // 000E GETMBR R10 R0 K9
0x7C1C0600, // 000F CALL R7 3
0x80040E00, // 0010 RET 1 R7
0x70020010, // 0011 JMP #0023
0x541EFFFB, // 0012 LDINT R7 65532
0x1C1C0C07, // 0013 EQ R7 R6 R7
0x781E0005, // 0014 JMPF R7 #001B
0x8C1C0907, // 0015 GETMET R7 R4 K7
0x8824090A, // 0016 GETMBR R9 R4 K10
0x58280006, // 0017 LDCONST R10 K6
0x7C1C0600, // 0018 CALL R7 3
0x80040E00, // 0019 RET 1 R7
0x70020007, // 001A JMP #0023
0x541EFFFC, // 001B LDINT R7 65533
0x1C1C0C07, // 001C EQ R7 R6 R7
0x781E0004, // 001D JMPF R7 #0023
0x8C1C0907, // 001E GETMET R7 R4 K7
0x8824090A, // 001F GETMBR R9 R4 K10
0x542A0003, // 0020 LDINT R10 4
0x7C1C0600, // 0021 CALL R7 3
0x80040E00, // 0022 RET 1 R7
0x70020007, // 0023 JMP #002C
0x601C0003, // 0024 GETGBL R7 G3
0x5C200000, // 0025 MOVE R8 R0
0x7C1C0200, // 0026 CALL R7 1
0x8C1C0F0B, // 0027 GETMET R7 R7 K11
0x5C240200, // 0028 MOVE R9 R1
0x5C280400, // 0029 MOVE R10 R2
0x7C1C0600, // 002A CALL R7 3
0x80040E00, // 002B RET 1 R7
0x80000000, // 002C RET 0
0x541A0005, // 0004 LDINT R6 6
0x1C180806, // 0005 EQ R6 R4 R6
0x781A001B, // 0006 JMPF R6 #0023
0x8C180104, // 0007 GETMET R6 R0 K4
0x7C180200, // 0008 CALL R6 1
0x1C180B05, // 0009 EQ R6 R5 K5
0x781A0005, // 000A JMPF R6 #0011
0x8C180706, // 000B GETMET R6 R3 K6
0x88200707, // 000C GETMBR R8 R3 K7
0x88240108, // 000D GETMBR R9 R0 K8
0x7C180600, // 000E CALL R6 3
0x80040C00, // 000F RET 1 R6
0x70020010, // 0010 JMP #0022
0x541AFFFB, // 0011 LDINT R6 65532
0x1C180A06, // 0012 EQ R6 R5 R6
0x781A0005, // 0013 JMPF R6 #001A
0x8C180706, // 0014 GETMET R6 R3 K6
0x88200709, // 0015 GETMBR R8 R3 K9
0x58240005, // 0016 LDCONST R9 K5
0x7C180600, // 0017 CALL R6 3
0x80040C00, // 0018 RET 1 R6
0x70020007, // 0019 JMP #0022
0x541AFFFC, // 001A LDINT R6 65533
0x1C180A06, // 001B EQ R6 R5 R6
0x781A0004, // 001C JMPF R6 #0022
0x8C180706, // 001D GETMET R6 R3 K6
0x88200709, // 001E GETMBR R8 R3 K9
0x54260003, // 001F LDINT R9 4
0x7C180600, // 0020 CALL R6 3
0x80040C00, // 0021 RET 1 R6
0x70020007, // 0022 JMP #002B
0x60180003, // 0023 GETGBL R6 G3
0x5C1C0000, // 0024 MOVE R7 R0
0x7C180200, // 0025 CALL R6 1
0x8C180D0A, // 0026 GETMET R6 R6 K10
0x5C200200, // 0027 MOVE R8 R1
0x5C240400, // 0028 MOVE R9 R2
0x7C180600, // 0029 CALL R6 3
0x80040C00, // 002A RET 1 R6
0x80000000, // 002B RET 0
})
)
);

View File

@ -237,7 +237,7 @@ be_local_closure(Matter_Plugin_Light1_invoke_request, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_Light1_read_attribute, /* name */
be_nested_proto(
11, /* nstack */
10, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
@ -245,105 +245,103 @@ be_local_closure(Matter_Plugin_Light1_read_attribute, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[15]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(attribute),
/* K5 */ be_nested_str_weak(update_shadow_lazy),
/* K6 */ be_const_int(0),
/* K7 */ be_nested_str_weak(create_TLV),
/* K8 */ be_nested_str_weak(U1),
/* K9 */ be_nested_str_weak(shadow_bri),
/* 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),
( &(const bvalue[14]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_nested_str_weak(update_shadow_lazy),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(create_TLV),
/* K7 */ be_nested_str_weak(U1),
/* K8 */ be_nested_str_weak(shadow_bri),
/* K9 */ be_const_int(2),
/* K10 */ be_const_int(3),
/* K11 */ be_nested_str_weak(U4),
/* K12 */ be_const_int(1),
/* K13 */ be_nested_str_weak(read_attribute),
}),
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[79]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0xB8120200, // 0001 GETNGBL R4 K1
0x88100902, // 0002 GETMBR R4 R4 K2
( &(const binstruction[78]) { /* code */
0xB80E0000, // 0000 GETNGBL R3 K0
0x880C0701, // 0001 GETMBR R3 R3 K1
0x88100502, // 0002 GETMBR R4 R2 K2
0x88140503, // 0003 GETMBR R5 R2 K3
0x88180504, // 0004 GETMBR R6 R2 K4
0x541E0007, // 0005 LDINT R7 8
0x1C1C0A07, // 0006 EQ R7 R5 R7
0x781E003D, // 0007 JMPF R7 #0046
0x8C1C0105, // 0008 GETMET R7 R0 K5
0x7C1C0200, // 0009 CALL R7 1
0x1C1C0D06, // 000A EQ R7 R6 K6
0x781E0005, // 000B JMPF R7 #0012
0x8C1C0907, // 000C GETMET R7 R4 K7
0x88240908, // 000D GETMBR R9 R4 K8
0x88280109, // 000E GETMBR R10 R0 K9
0x7C1C0600, // 000F CALL R7 3
0x80040E00, // 0010 RET 1 R7
0x70020032, // 0011 JMP #0045
0x1C1C0D0A, // 0012 EQ R7 R6 K10
0x781E0005, // 0013 JMPF R7 #001A
0x8C1C0907, // 0014 GETMET R7 R4 K7
0x88240908, // 0015 GETMBR R9 R4 K8
0x58280006, // 0016 LDCONST R10 K6
0x7C1C0600, // 0017 CALL R7 3
0x80040E00, // 0018 RET 1 R7
0x7002002A, // 0019 JMP #0045
0x1C1C0D0B, // 001A EQ R7 R6 K11
0x781E0005, // 001B JMPF R7 #0022
0x8C1C0907, // 001C GETMET R7 R4 K7
0x88240908, // 001D GETMBR R9 R4 K8
0x542A00FD, // 001E LDINT R10 254
0x7C1C0600, // 001F CALL R7 3
0x80040E00, // 0020 RET 1 R7
0x70020022, // 0021 JMP #0045
0x541E000E, // 0022 LDINT R7 15
0x1C1C0C07, // 0023 EQ R7 R6 R7
0x781E0005, // 0024 JMPF R7 #002B
0x8C1C0907, // 0025 GETMET R7 R4 K7
0x88240908, // 0026 GETMBR R9 R4 K8
0x58280006, // 0027 LDCONST R10 K6
0x7C1C0600, // 0028 CALL R7 3
0x80040E00, // 0029 RET 1 R7
0x70020019, // 002A JMP #0045
0x541E0010, // 002B LDINT R7 17
0x1C1C0C07, // 002C EQ R7 R6 R7
0x781E0005, // 002D JMPF R7 #0034
0x8C1C0907, // 002E GETMET R7 R4 K7
0x88240908, // 002F GETMBR R9 R4 K8
0x88280109, // 0030 GETMBR R10 R0 K9
0x7C1C0600, // 0031 CALL R7 3
0x80040E00, // 0032 RET 1 R7
0x70020010, // 0033 JMP #0045
0x541EFFFB, // 0034 LDINT R7 65532
0x1C1C0C07, // 0035 EQ R7 R6 R7
0x781E0005, // 0036 JMPF R7 #003D
0x8C1C0907, // 0037 GETMET R7 R4 K7
0x8824090C, // 0038 GETMBR R9 R4 K12
0x5828000D, // 0039 LDCONST R10 K13
0x7C1C0600, // 003A CALL R7 3
0x80040E00, // 003B RET 1 R7
0x70020007, // 003C JMP #0045
0x541EFFFC, // 003D LDINT R7 65533
0x1C1C0C07, // 003E EQ R7 R6 R7
0x781E0004, // 003F JMPF R7 #0045
0x8C1C0907, // 0040 GETMET R7 R4 K7
0x8824090C, // 0041 GETMBR R9 R4 K12
0x542A0004, // 0042 LDINT R10 5
0x7C1C0600, // 0043 CALL R7 3
0x80040E00, // 0044 RET 1 R7
0x70020007, // 0045 JMP #004E
0x601C0003, // 0046 GETGBL R7 G3
0x5C200000, // 0047 MOVE R8 R0
0x7C1C0200, // 0048 CALL R7 1
0x8C1C0F0E, // 0049 GETMET R7 R7 K14
0x5C240200, // 004A MOVE R9 R1
0x5C280400, // 004B MOVE R10 R2
0x7C1C0600, // 004C CALL R7 3
0x80040E00, // 004D RET 1 R7
0x80000000, // 004E RET 0
0x541A0007, // 0004 LDINT R6 8
0x1C180806, // 0005 EQ R6 R4 R6
0x781A003D, // 0006 JMPF R6 #0045
0x8C180104, // 0007 GETMET R6 R0 K4
0x7C180200, // 0008 CALL R6 1
0x1C180B05, // 0009 EQ R6 R5 K5
0x781A0005, // 000A JMPF R6 #0011
0x8C180706, // 000B GETMET R6 R3 K6
0x88200707, // 000C GETMBR R8 R3 K7
0x88240108, // 000D GETMBR R9 R0 K8
0x7C180600, // 000E CALL R6 3
0x80040C00, // 000F RET 1 R6
0x70020032, // 0010 JMP #0044
0x1C180B09, // 0011 EQ R6 R5 K9
0x781A0005, // 0012 JMPF R6 #0019
0x8C180706, // 0013 GETMET R6 R3 K6
0x88200707, // 0014 GETMBR R8 R3 K7
0x58240005, // 0015 LDCONST R9 K5
0x7C180600, // 0016 CALL R6 3
0x80040C00, // 0017 RET 1 R6
0x7002002A, // 0018 JMP #0044
0x1C180B0A, // 0019 EQ R6 R5 K10
0x781A0005, // 001A JMPF R6 #0021
0x8C180706, // 001B GETMET R6 R3 K6
0x88200707, // 001C GETMBR R8 R3 K7
0x542600FD, // 001D LDINT R9 254
0x7C180600, // 001E CALL R6 3
0x80040C00, // 001F RET 1 R6
0x70020022, // 0020 JMP #0044
0x541A000E, // 0021 LDINT R6 15
0x1C180A06, // 0022 EQ R6 R5 R6
0x781A0005, // 0023 JMPF R6 #002A
0x8C180706, // 0024 GETMET R6 R3 K6
0x88200707, // 0025 GETMBR R8 R3 K7
0x58240005, // 0026 LDCONST R9 K5
0x7C180600, // 0027 CALL R6 3
0x80040C00, // 0028 RET 1 R6
0x70020019, // 0029 JMP #0044
0x541A0010, // 002A LDINT R6 17
0x1C180A06, // 002B EQ R6 R5 R6
0x781A0005, // 002C JMPF R6 #0033
0x8C180706, // 002D GETMET R6 R3 K6
0x88200707, // 002E GETMBR R8 R3 K7
0x88240108, // 002F GETMBR R9 R0 K8
0x7C180600, // 0030 CALL R6 3
0x80040C00, // 0031 RET 1 R6
0x70020010, // 0032 JMP #0044
0x541AFFFB, // 0033 LDINT R6 65532
0x1C180A06, // 0034 EQ R6 R5 R6
0x781A0005, // 0035 JMPF R6 #003C
0x8C180706, // 0036 GETMET R6 R3 K6
0x8820070B, // 0037 GETMBR R8 R3 K11
0x5824000C, // 0038 LDCONST R9 K12
0x7C180600, // 0039 CALL R6 3
0x80040C00, // 003A RET 1 R6
0x70020007, // 003B JMP #0044
0x541AFFFC, // 003C LDINT R6 65533
0x1C180A06, // 003D EQ R6 R5 R6
0x781A0004, // 003E JMPF R6 #0044
0x8C180706, // 003F GETMET R6 R3 K6
0x8820070B, // 0040 GETMBR R8 R3 K11
0x54260004, // 0041 LDINT R9 5
0x7C180600, // 0042 CALL R6 3
0x80040C00, // 0043 RET 1 R6
0x70020007, // 0044 JMP #004D
0x60180003, // 0045 GETGBL R6 G3
0x5C1C0000, // 0046 MOVE R7 R0
0x7C180200, // 0047 CALL R6 1
0x8C180D0D, // 0048 GETMET R6 R6 K13
0x5C200200, // 0049 MOVE R8 R1
0x5C240400, // 004A MOVE R9 R2
0x7C180600, // 004B CALL R6 3
0x80040C00, // 004C RET 1 R6
0x80000000, // 004D RET 0
})
)
);

View File

@ -11,7 +11,7 @@ extern const bclass be_class_Matter_Plugin_Light2;
********************************************************************/
be_local_closure(Matter_Plugin_Light2_read_attribute, /* name */
be_nested_proto(
11, /* nstack */
10, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
@ -19,108 +19,106 @@ be_local_closure(Matter_Plugin_Light2_read_attribute, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[15]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(attribute),
/* K5 */ be_nested_str_weak(update_shadow_lazy),
/* K6 */ be_nested_str_weak(create_TLV),
/* K7 */ be_nested_str_weak(U1),
/* K8 */ be_nested_str_weak(shadow_ct),
/* K9 */ be_const_int(2),
/* K10 */ be_const_int(0),
/* K11 */ be_nested_str_weak(ct_min),
/* K12 */ be_nested_str_weak(ct_max),
/* K13 */ be_nested_str_weak(U4),
/* K14 */ be_nested_str_weak(read_attribute),
( &(const bvalue[14]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_nested_str_weak(update_shadow_lazy),
/* K5 */ be_nested_str_weak(create_TLV),
/* K6 */ be_nested_str_weak(U1),
/* K7 */ be_nested_str_weak(shadow_ct),
/* K8 */ be_const_int(2),
/* K9 */ be_const_int(0),
/* K10 */ be_nested_str_weak(ct_min),
/* K11 */ be_nested_str_weak(ct_max),
/* K12 */ be_nested_str_weak(U4),
/* K13 */ be_nested_str_weak(read_attribute),
}),
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[82]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0xB8120200, // 0001 GETNGBL R4 K1
0x88100902, // 0002 GETMBR R4 R4 K2
( &(const binstruction[81]) { /* code */
0xB80E0000, // 0000 GETNGBL R3 K0
0x880C0701, // 0001 GETMBR R3 R3 K1
0x88100502, // 0002 GETMBR R4 R2 K2
0x88140503, // 0003 GETMBR R5 R2 K3
0x88180504, // 0004 GETMBR R6 R2 K4
0x541E02FF, // 0005 LDINT R7 768
0x1C1C0A07, // 0006 EQ R7 R5 R7
0x781E0040, // 0007 JMPF R7 #0049
0x8C1C0105, // 0008 GETMET R7 R0 K5
0x7C1C0200, // 0009 CALL R7 1
0x541E0006, // 000A LDINT R7 7
0x1C1C0C07, // 000B EQ R7 R6 R7
0x781E0005, // 000C JMPF R7 #0013
0x8C1C0906, // 000D GETMET R7 R4 K6
0x88240907, // 000E GETMBR R9 R4 K7
0x88280108, // 000F GETMBR R10 R0 K8
0x7C1C0600, // 0010 CALL R7 3
0x80040E00, // 0011 RET 1 R7
0x70020034, // 0012 JMP #0048
0x541E0007, // 0013 LDINT R7 8
0x1C1C0C07, // 0014 EQ R7 R6 R7
0x781E0005, // 0015 JMPF R7 #001C
0x8C1C0906, // 0016 GETMET R7 R4 K6
0x88240907, // 0017 GETMBR R9 R4 K7
0x58280009, // 0018 LDCONST R10 K9
0x7C1C0600, // 0019 CALL R7 3
0x80040E00, // 001A RET 1 R7
0x7002002B, // 001B JMP #0048
0x541E000E, // 001C LDINT R7 15
0x1C1C0C07, // 001D EQ R7 R6 R7
0x781E0005, // 001E JMPF R7 #0025
0x8C1C0906, // 001F GETMET R7 R4 K6
0x88240907, // 0020 GETMBR R9 R4 K7
0x5828000A, // 0021 LDCONST R10 K10
0x7C1C0600, // 0022 CALL R7 3
0x80040E00, // 0023 RET 1 R7
0x70020022, // 0024 JMP #0048
0x541E400A, // 0025 LDINT R7 16395
0x1C1C0C07, // 0026 EQ R7 R6 R7
0x781E0005, // 0027 JMPF R7 #002E
0x8C1C0906, // 0028 GETMET R7 R4 K6
0x88240907, // 0029 GETMBR R9 R4 K7
0x8828010B, // 002A GETMBR R10 R0 K11
0x7C1C0600, // 002B CALL R7 3
0x80040E00, // 002C RET 1 R7
0x70020019, // 002D JMP #0048
0x541E400B, // 002E LDINT R7 16396
0x1C1C0C07, // 002F EQ R7 R6 R7
0x781E0005, // 0030 JMPF R7 #0037
0x8C1C0906, // 0031 GETMET R7 R4 K6
0x88240907, // 0032 GETMBR R9 R4 K7
0x8828010C, // 0033 GETMBR R10 R0 K12
0x7C1C0600, // 0034 CALL R7 3
0x80040E00, // 0035 RET 1 R7
0x70020010, // 0036 JMP #0048
0x541EFFFB, // 0037 LDINT R7 65532
0x1C1C0C07, // 0038 EQ R7 R6 R7
0x781E0005, // 0039 JMPF R7 #0040
0x8C1C0906, // 003A GETMET R7 R4 K6
0x8824090D, // 003B GETMBR R9 R4 K13
0x542A000F, // 003C LDINT R10 16
0x7C1C0600, // 003D CALL R7 3
0x80040E00, // 003E RET 1 R7
0x70020007, // 003F JMP #0048
0x541EFFFC, // 0040 LDINT R7 65533
0x1C1C0C07, // 0041 EQ R7 R6 R7
0x781E0004, // 0042 JMPF R7 #0048
0x8C1C0906, // 0043 GETMET R7 R4 K6
0x8824090D, // 0044 GETMBR R9 R4 K13
0x542A0004, // 0045 LDINT R10 5
0x7C1C0600, // 0046 CALL R7 3
0x80040E00, // 0047 RET 1 R7
0x70020007, // 0048 JMP #0051
0x601C0003, // 0049 GETGBL R7 G3
0x5C200000, // 004A MOVE R8 R0
0x7C1C0200, // 004B CALL R7 1
0x8C1C0F0E, // 004C GETMET R7 R7 K14
0x5C240200, // 004D MOVE R9 R1
0x5C280400, // 004E MOVE R10 R2
0x7C1C0600, // 004F CALL R7 3
0x80040E00, // 0050 RET 1 R7
0x80000000, // 0051 RET 0
0x541A02FF, // 0004 LDINT R6 768
0x1C180806, // 0005 EQ R6 R4 R6
0x781A0040, // 0006 JMPF R6 #0048
0x8C180104, // 0007 GETMET R6 R0 K4
0x7C180200, // 0008 CALL R6 1
0x541A0006, // 0009 LDINT R6 7
0x1C180A06, // 000A EQ R6 R5 R6
0x781A0005, // 000B JMPF R6 #0012
0x8C180705, // 000C GETMET R6 R3 K5
0x88200706, // 000D GETMBR R8 R3 K6
0x88240107, // 000E GETMBR R9 R0 K7
0x7C180600, // 000F CALL R6 3
0x80040C00, // 0010 RET 1 R6
0x70020034, // 0011 JMP #0047
0x541A0007, // 0012 LDINT R6 8
0x1C180A06, // 0013 EQ R6 R5 R6
0x781A0005, // 0014 JMPF R6 #001B
0x8C180705, // 0015 GETMET R6 R3 K5
0x88200706, // 0016 GETMBR R8 R3 K6
0x58240008, // 0017 LDCONST R9 K8
0x7C180600, // 0018 CALL R6 3
0x80040C00, // 0019 RET 1 R6
0x7002002B, // 001A JMP #0047
0x541A000E, // 001B LDINT R6 15
0x1C180A06, // 001C EQ R6 R5 R6
0x781A0005, // 001D JMPF R6 #0024
0x8C180705, // 001E GETMET R6 R3 K5
0x88200706, // 001F GETMBR R8 R3 K6
0x58240009, // 0020 LDCONST R9 K9
0x7C180600, // 0021 CALL R6 3
0x80040C00, // 0022 RET 1 R6
0x70020022, // 0023 JMP #0047
0x541A400A, // 0024 LDINT R6 16395
0x1C180A06, // 0025 EQ R6 R5 R6
0x781A0005, // 0026 JMPF R6 #002D
0x8C180705, // 0027 GETMET R6 R3 K5
0x88200706, // 0028 GETMBR R8 R3 K6
0x8824010A, // 0029 GETMBR R9 R0 K10
0x7C180600, // 002A CALL R6 3
0x80040C00, // 002B RET 1 R6
0x70020019, // 002C JMP #0047
0x541A400B, // 002D LDINT R6 16396
0x1C180A06, // 002E EQ R6 R5 R6
0x781A0005, // 002F JMPF R6 #0036
0x8C180705, // 0030 GETMET R6 R3 K5
0x88200706, // 0031 GETMBR R8 R3 K6
0x8824010B, // 0032 GETMBR R9 R0 K11
0x7C180600, // 0033 CALL R6 3
0x80040C00, // 0034 RET 1 R6
0x70020010, // 0035 JMP #0047
0x541AFFFB, // 0036 LDINT R6 65532
0x1C180A06, // 0037 EQ R6 R5 R6
0x781A0005, // 0038 JMPF R6 #003F
0x8C180705, // 0039 GETMET R6 R3 K5
0x8820070C, // 003A GETMBR R8 R3 K12
0x5426000F, // 003B LDINT R9 16
0x7C180600, // 003C CALL R6 3
0x80040C00, // 003D RET 1 R6
0x70020007, // 003E JMP #0047
0x541AFFFC, // 003F LDINT R6 65533
0x1C180A06, // 0040 EQ R6 R5 R6
0x781A0004, // 0041 JMPF R6 #0047
0x8C180705, // 0042 GETMET R6 R3 K5
0x8820070C, // 0043 GETMBR R8 R3 K12
0x54260004, // 0044 LDINT R9 5
0x7C180600, // 0045 CALL R6 3
0x80040C00, // 0046 RET 1 R6
0x70020007, // 0047 JMP #0050
0x60180003, // 0048 GETGBL R6 G3
0x5C1C0000, // 0049 MOVE R7 R0
0x7C180200, // 004A CALL R6 1
0x8C180D0D, // 004B GETMET R6 R6 K13
0x5C200200, // 004C MOVE R8 R1
0x5C240400, // 004D MOVE R9 R2
0x7C180600, // 004E CALL R6 3
0x80040C00, // 004F RET 1 R6
0x80000000, // 0050 RET 0
})
)
);

View File

@ -112,7 +112,7 @@ be_local_closure(Matter_Plugin_Light3_update_shadow, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_Light3_read_attribute, /* name */
be_nested_proto(
11, /* nstack */
10, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
@ -120,132 +120,130 @@ be_local_closure(Matter_Plugin_Light3_read_attribute, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[14]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(attribute),
/* K5 */ be_nested_str_weak(update_shadow_lazy),
/* K6 */ be_const_int(0),
/* K7 */ be_nested_str_weak(create_TLV),
/* K8 */ be_nested_str_weak(U1),
/* K9 */ be_nested_str_weak(shadow_hue),
/* K10 */ be_const_int(1),
/* K11 */ be_nested_str_weak(shadow_sat),
/* K12 */ be_nested_str_weak(U4),
/* K13 */ be_nested_str_weak(read_attribute),
( &(const bvalue[13]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_nested_str_weak(update_shadow_lazy),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(create_TLV),
/* K7 */ be_nested_str_weak(U1),
/* K8 */ be_nested_str_weak(shadow_hue),
/* K9 */ be_const_int(1),
/* K10 */ be_nested_str_weak(shadow_sat),
/* K11 */ be_nested_str_weak(U4),
/* K12 */ be_nested_str_weak(read_attribute),
}),
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[107]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0xB8120200, // 0001 GETNGBL R4 K1
0x88100902, // 0002 GETMBR R4 R4 K2
( &(const binstruction[106]) { /* code */
0xB80E0000, // 0000 GETNGBL R3 K0
0x880C0701, // 0001 GETMBR R3 R3 K1
0x88100502, // 0002 GETMBR R4 R2 K2
0x88140503, // 0003 GETMBR R5 R2 K3
0x88180504, // 0004 GETMBR R6 R2 K4
0x541E02FF, // 0005 LDINT R7 768
0x1C1C0A07, // 0006 EQ R7 R5 R7
0x781E0059, // 0007 JMPF R7 #0062
0x8C1C0105, // 0008 GETMET R7 R0 K5
0x7C1C0200, // 0009 CALL R7 1
0x1C1C0D06, // 000A EQ R7 R6 K6
0x781E0005, // 000B JMPF R7 #0012
0x8C1C0907, // 000C GETMET R7 R4 K7
0x88240908, // 000D GETMBR R9 R4 K8
0x88280109, // 000E GETMBR R10 R0 K9
0x7C1C0600, // 000F CALL R7 3
0x80040E00, // 0010 RET 1 R7
0x7002004E, // 0011 JMP #0061
0x1C1C0D0A, // 0012 EQ R7 R6 K10
0x781E0005, // 0013 JMPF R7 #001A
0x8C1C0907, // 0014 GETMET R7 R4 K7
0x88240908, // 0015 GETMBR R9 R4 K8
0x8828010B, // 0016 GETMBR R10 R0 K11
0x7C1C0600, // 0017 CALL R7 3
0x80040E00, // 0018 RET 1 R7
0x70020046, // 0019 JMP #0061
0x541E0006, // 001A LDINT R7 7
0x1C1C0C07, // 001B EQ R7 R6 R7
0x781E0005, // 001C JMPF R7 #0023
0x8C1C0907, // 001D GETMET R7 R4 K7
0x88240908, // 001E GETMBR R9 R4 K8
0x58280006, // 001F LDCONST R10 K6
0x7C1C0600, // 0020 CALL R7 3
0x80040E00, // 0021 RET 1 R7
0x7002003D, // 0022 JMP #0061
0x541E0007, // 0023 LDINT R7 8
0x1C1C0C07, // 0024 EQ R7 R6 R7
0x781E0005, // 0025 JMPF R7 #002C
0x8C1C0907, // 0026 GETMET R7 R4 K7
0x88240908, // 0027 GETMBR R9 R4 K8
0x58280006, // 0028 LDCONST R10 K6
0x7C1C0600, // 0029 CALL R7 3
0x80040E00, // 002A RET 1 R7
0x70020034, // 002B JMP #0061
0x541E000E, // 002C LDINT R7 15
0x1C1C0C07, // 002D EQ R7 R6 R7
0x781E0005, // 002E JMPF R7 #0035
0x8C1C0907, // 002F GETMET R7 R4 K7
0x88240908, // 0030 GETMBR R9 R4 K8
0x58280006, // 0031 LDCONST R10 K6
0x7C1C0600, // 0032 CALL R7 3
0x80040E00, // 0033 RET 1 R7
0x7002002B, // 0034 JMP #0061
0x541E4000, // 0035 LDINT R7 16385
0x1C1C0C07, // 0036 EQ R7 R6 R7
0x781E0005, // 0037 JMPF R7 #003E
0x8C1C0907, // 0038 GETMET R7 R4 K7
0x88240908, // 0039 GETMBR R9 R4 K8
0x58280006, // 003A LDCONST R10 K6
0x7C1C0600, // 003B CALL R7 3
0x80040E00, // 003C RET 1 R7
0x70020022, // 003D JMP #0061
0x541E4009, // 003E LDINT R7 16394
0x1C1C0C07, // 003F EQ R7 R6 R7
0x781E0005, // 0040 JMPF R7 #0047
0x8C1C0907, // 0041 GETMET R7 R4 K7
0x88240908, // 0042 GETMBR R9 R4 K8
0x5828000A, // 0043 LDCONST R10 K10
0x7C1C0600, // 0044 CALL R7 3
0x80040E00, // 0045 RET 1 R7
0x70020019, // 0046 JMP #0061
0x541E000F, // 0047 LDINT R7 16
0x1C1C0C07, // 0048 EQ R7 R6 R7
0x781E0005, // 0049 JMPF R7 #0050
0x8C1C0907, // 004A GETMET R7 R4 K7
0x88240908, // 004B GETMBR R9 R4 K8
0x58280006, // 004C LDCONST R10 K6
0x7C1C0600, // 004D CALL R7 3
0x80040E00, // 004E RET 1 R7
0x70020010, // 004F JMP #0061
0x541EFFFB, // 0050 LDINT R7 65532
0x1C1C0C07, // 0051 EQ R7 R6 R7
0x781E0005, // 0052 JMPF R7 #0059
0x8C1C0907, // 0053 GETMET R7 R4 K7
0x8824090C, // 0054 GETMBR R9 R4 K12
0x5828000A, // 0055 LDCONST R10 K10
0x7C1C0600, // 0056 CALL R7 3
0x80040E00, // 0057 RET 1 R7
0x70020007, // 0058 JMP #0061
0x541EFFFC, // 0059 LDINT R7 65533
0x1C1C0C07, // 005A EQ R7 R6 R7
0x781E0004, // 005B JMPF R7 #0061
0x8C1C0907, // 005C GETMET R7 R4 K7
0x8824090C, // 005D GETMBR R9 R4 K12
0x542A0004, // 005E LDINT R10 5
0x7C1C0600, // 005F CALL R7 3
0x80040E00, // 0060 RET 1 R7
0x70020007, // 0061 JMP #006A
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
0x7C1C0600, // 0068 CALL R7 3
0x80040E00, // 0069 RET 1 R7
0x80000000, // 006A RET 0
0x541A02FF, // 0004 LDINT R6 768
0x1C180806, // 0005 EQ R6 R4 R6
0x781A0059, // 0006 JMPF R6 #0061
0x8C180104, // 0007 GETMET R6 R0 K4
0x7C180200, // 0008 CALL R6 1
0x1C180B05, // 0009 EQ R6 R5 K5
0x781A0005, // 000A JMPF R6 #0011
0x8C180706, // 000B GETMET R6 R3 K6
0x88200707, // 000C GETMBR R8 R3 K7
0x88240108, // 000D GETMBR R9 R0 K8
0x7C180600, // 000E CALL R6 3
0x80040C00, // 000F RET 1 R6
0x7002004E, // 0010 JMP #0060
0x1C180B09, // 0011 EQ R6 R5 K9
0x781A0005, // 0012 JMPF R6 #0019
0x8C180706, // 0013 GETMET R6 R3 K6
0x88200707, // 0014 GETMBR R8 R3 K7
0x8824010A, // 0015 GETMBR R9 R0 K10
0x7C180600, // 0016 CALL R6 3
0x80040C00, // 0017 RET 1 R6
0x70020046, // 0018 JMP #0060
0x541A0006, // 0019 LDINT R6 7
0x1C180A06, // 001A EQ R6 R5 R6
0x781A0005, // 001B JMPF R6 #0022
0x8C180706, // 001C GETMET R6 R3 K6
0x88200707, // 001D GETMBR R8 R3 K7
0x58240005, // 001E LDCONST R9 K5
0x7C180600, // 001F CALL R6 3
0x80040C00, // 0020 RET 1 R6
0x7002003D, // 0021 JMP #0060
0x541A0007, // 0022 LDINT R6 8
0x1C180A06, // 0023 EQ R6 R5 R6
0x781A0005, // 0024 JMPF R6 #002B
0x8C180706, // 0025 GETMET R6 R3 K6
0x88200707, // 0026 GETMBR R8 R3 K7
0x58240005, // 0027 LDCONST R9 K5
0x7C180600, // 0028 CALL R6 3
0x80040C00, // 0029 RET 1 R6
0x70020034, // 002A JMP #0060
0x541A000E, // 002B LDINT R6 15
0x1C180A06, // 002C EQ R6 R5 R6
0x781A0005, // 002D JMPF R6 #0034
0x8C180706, // 002E GETMET R6 R3 K6
0x88200707, // 002F GETMBR R8 R3 K7
0x58240005, // 0030 LDCONST R9 K5
0x7C180600, // 0031 CALL R6 3
0x80040C00, // 0032 RET 1 R6
0x7002002B, // 0033 JMP #0060
0x541A4000, // 0034 LDINT R6 16385
0x1C180A06, // 0035 EQ R6 R5 R6
0x781A0005, // 0036 JMPF R6 #003D
0x8C180706, // 0037 GETMET R6 R3 K6
0x88200707, // 0038 GETMBR R8 R3 K7
0x58240005, // 0039 LDCONST R9 K5
0x7C180600, // 003A CALL R6 3
0x80040C00, // 003B RET 1 R6
0x70020022, // 003C JMP #0060
0x541A4009, // 003D LDINT R6 16394
0x1C180A06, // 003E EQ R6 R5 R6
0x781A0005, // 003F JMPF R6 #0046
0x8C180706, // 0040 GETMET R6 R3 K6
0x88200707, // 0041 GETMBR R8 R3 K7
0x58240009, // 0042 LDCONST R9 K9
0x7C180600, // 0043 CALL R6 3
0x80040C00, // 0044 RET 1 R6
0x70020019, // 0045 JMP #0060
0x541A000F, // 0046 LDINT R6 16
0x1C180A06, // 0047 EQ R6 R5 R6
0x781A0005, // 0048 JMPF R6 #004F
0x8C180706, // 0049 GETMET R6 R3 K6
0x88200707, // 004A GETMBR R8 R3 K7
0x58240005, // 004B LDCONST R9 K5
0x7C180600, // 004C CALL R6 3
0x80040C00, // 004D RET 1 R6
0x70020010, // 004E JMP #0060
0x541AFFFB, // 004F LDINT R6 65532
0x1C180A06, // 0050 EQ R6 R5 R6
0x781A0005, // 0051 JMPF R6 #0058
0x8C180706, // 0052 GETMET R6 R3 K6
0x8820070B, // 0053 GETMBR R8 R3 K11
0x58240009, // 0054 LDCONST R9 K9
0x7C180600, // 0055 CALL R6 3
0x80040C00, // 0056 RET 1 R6
0x70020007, // 0057 JMP #0060
0x541AFFFC, // 0058 LDINT R6 65533
0x1C180A06, // 0059 EQ R6 R5 R6
0x781A0004, // 005A JMPF R6 #0060
0x8C180706, // 005B GETMET R6 R3 K6
0x8820070B, // 005C GETMBR R8 R3 K11
0x54260004, // 005D LDINT R9 5
0x7C180600, // 005E CALL R6 3
0x80040C00, // 005F RET 1 R6
0x70020007, // 0060 JMP #0069
0x60180003, // 0061 GETGBL R6 G3
0x5C1C0000, // 0062 MOVE R7 R0
0x7C180200, // 0063 CALL R6 1
0x8C180D0C, // 0064 GETMET R6 R6 K12
0x5C200200, // 0065 MOVE R8 R1
0x5C240400, // 0066 MOVE R9 R2
0x7C180600, // 0067 CALL R6 3
0x80040C00, // 0068 RET 1 R6
0x80000000, // 0069 RET 0
})
)
);

View File

@ -190,7 +190,7 @@ be_local_closure(Matter_Plugin_OnOff_parse_configuration, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_OnOff_read_attribute, /* name */
be_nested_proto(
11, /* nstack */
10, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
@ -198,68 +198,66 @@ be_local_closure(Matter_Plugin_OnOff_read_attribute, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[12]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(attribute),
/* K5 */ be_nested_str_weak(update_shadow_lazy),
/* K6 */ be_const_int(0),
/* K7 */ be_nested_str_weak(create_TLV),
/* K8 */ be_nested_str_weak(BOOL),
/* K9 */ be_nested_str_weak(shadow_onoff),
/* K10 */ be_nested_str_weak(U4),
/* K11 */ be_nested_str_weak(read_attribute),
( &(const bvalue[11]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_nested_str_weak(update_shadow_lazy),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(create_TLV),
/* 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),
}),
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[45]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0xB8120200, // 0001 GETNGBL R4 K1
0x88100902, // 0002 GETMBR R4 R4 K2
( &(const binstruction[44]) { /* code */
0xB80E0000, // 0000 GETNGBL R3 K0
0x880C0701, // 0001 GETMBR R3 R3 K1
0x88100502, // 0002 GETMBR R4 R2 K2
0x88140503, // 0003 GETMBR R5 R2 K3
0x88180504, // 0004 GETMBR R6 R2 K4
0x541E0005, // 0005 LDINT R7 6
0x1C1C0A07, // 0006 EQ R7 R5 R7
0x781E001B, // 0007 JMPF R7 #0024
0x8C1C0105, // 0008 GETMET R7 R0 K5
0x7C1C0200, // 0009 CALL R7 1
0x1C1C0D06, // 000A EQ R7 R6 K6
0x781E0005, // 000B JMPF R7 #0012
0x8C1C0907, // 000C GETMET R7 R4 K7
0x88240908, // 000D GETMBR R9 R4 K8
0x88280109, // 000E GETMBR R10 R0 K9
0x7C1C0600, // 000F CALL R7 3
0x80040E00, // 0010 RET 1 R7
0x70020010, // 0011 JMP #0023
0x541EFFFB, // 0012 LDINT R7 65532
0x1C1C0C07, // 0013 EQ R7 R6 R7
0x781E0005, // 0014 JMPF R7 #001B
0x8C1C0907, // 0015 GETMET R7 R4 K7
0x8824090A, // 0016 GETMBR R9 R4 K10
0x58280006, // 0017 LDCONST R10 K6
0x7C1C0600, // 0018 CALL R7 3
0x80040E00, // 0019 RET 1 R7
0x70020007, // 001A JMP #0023
0x541EFFFC, // 001B LDINT R7 65533
0x1C1C0C07, // 001C EQ R7 R6 R7
0x781E0004, // 001D JMPF R7 #0023
0x8C1C0907, // 001E GETMET R7 R4 K7
0x8824090A, // 001F GETMBR R9 R4 K10
0x542A0003, // 0020 LDINT R10 4
0x7C1C0600, // 0021 CALL R7 3
0x80040E00, // 0022 RET 1 R7
0x70020007, // 0023 JMP #002C
0x601C0003, // 0024 GETGBL R7 G3
0x5C200000, // 0025 MOVE R8 R0
0x7C1C0200, // 0026 CALL R7 1
0x8C1C0F0B, // 0027 GETMET R7 R7 K11
0x5C240200, // 0028 MOVE R9 R1
0x5C280400, // 0029 MOVE R10 R2
0x7C1C0600, // 002A CALL R7 3
0x80040E00, // 002B RET 1 R7
0x80000000, // 002C RET 0
0x541A0005, // 0004 LDINT R6 6
0x1C180806, // 0005 EQ R6 R4 R6
0x781A001B, // 0006 JMPF R6 #0023
0x8C180104, // 0007 GETMET R6 R0 K4
0x7C180200, // 0008 CALL R6 1
0x1C180B05, // 0009 EQ R6 R5 K5
0x781A0005, // 000A JMPF R6 #0011
0x8C180706, // 000B GETMET R6 R3 K6
0x88200707, // 000C GETMBR R8 R3 K7
0x88240108, // 000D GETMBR R9 R0 K8
0x7C180600, // 000E CALL R6 3
0x80040C00, // 000F RET 1 R6
0x70020010, // 0010 JMP #0022
0x541AFFFB, // 0011 LDINT R6 65532
0x1C180A06, // 0012 EQ R6 R5 R6
0x781A0005, // 0013 JMPF R6 #001A
0x8C180706, // 0014 GETMET R6 R3 K6
0x88200709, // 0015 GETMBR R8 R3 K9
0x58240005, // 0016 LDCONST R9 K5
0x7C180600, // 0017 CALL R6 3
0x80040C00, // 0018 RET 1 R6
0x70020007, // 0019 JMP #0022
0x541AFFFC, // 001A LDINT R6 65533
0x1C180A06, // 001B EQ R6 R5 R6
0x781A0004, // 001C JMPF R6 #0022
0x8C180706, // 001D GETMET R6 R3 K6
0x88200709, // 001E GETMBR R8 R3 K9
0x54260003, // 001F LDINT R9 4
0x7C180600, // 0020 CALL R6 3
0x80040C00, // 0021 RET 1 R6
0x70020007, // 0022 JMP #002B
0x60180003, // 0023 GETGBL R6 G3
0x5C1C0000, // 0024 MOVE R7 R0
0x7C180200, // 0025 CALL R6 1
0x8C180D0A, // 0026 GETMET R6 R6 K10
0x5C200200, // 0027 MOVE R8 R1
0x5C240400, // 0028 MOVE R9 R2
0x7C180600, // 0029 CALL R6 3
0x80040C00, // 002A RET 1 R6
0x80000000, // 002B RET 0
})
)
);

View File

@ -79,7 +79,7 @@ be_local_closure(Matter_Plugin_Sensor_Contact_parse_configuration, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_Sensor_Contact_read_attribute, /* name */
be_nested_proto(
11, /* nstack */
10, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
@ -87,77 +87,75 @@ be_local_closure(Matter_Plugin_Sensor_Contact_read_attribute, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[13]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(attribute),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(shadow_contact),
/* K7 */ be_nested_str_weak(create_TLV),
/* K8 */ be_nested_str_weak(BOOL),
/* K9 */ be_nested_str_weak(NULL),
/* K10 */ be_nested_str_weak(U4),
/* K11 */ be_const_int(1),
/* K12 */ be_nested_str_weak(read_attribute),
( &(const bvalue[12]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(shadow_contact),
/* K6 */ be_nested_str_weak(create_TLV),
/* 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),
}),
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[53]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0xB8120200, // 0001 GETNGBL R4 K1
0x88100902, // 0002 GETMBR R4 R4 K2
( &(const binstruction[52]) { /* code */
0xB80E0000, // 0000 GETNGBL R3 K0
0x880C0701, // 0001 GETMBR R3 R3 K1
0x88100502, // 0002 GETMBR R4 R2 K2
0x88140503, // 0003 GETMBR R5 R2 K3
0x88180504, // 0004 GETMBR R6 R2 K4
0x541E0044, // 0005 LDINT R7 69
0x1C1C0A07, // 0006 EQ R7 R5 R7
0x781E0023, // 0007 JMPF R7 #002C
0x1C1C0D05, // 0008 EQ R7 R6 K5
0x781E000F, // 0009 JMPF R7 #001A
0x881C0106, // 000A GETMBR R7 R0 K6
0x4C200000, // 000B LDNIL R8
0x201C0E08, // 000C NE R7 R7 R8
0x781E0005, // 000D JMPF R7 #0014
0x8C1C0907, // 000E GETMET R7 R4 K7
0x88240908, // 000F GETMBR R9 R4 K8
0x88280106, // 0010 GETMBR R10 R0 K6
0x7C1C0600, // 0011 CALL R7 3
0x80040E00, // 0012 RET 1 R7
0x70020004, // 0013 JMP #0019
0x8C1C0907, // 0014 GETMET R7 R4 K7
0x88240909, // 0015 GETMBR R9 R4 K9
0x4C280000, // 0016 LDNIL R10
0x7C1C0600, // 0017 CALL R7 3
0x80040E00, // 0018 RET 1 R7
0x70020010, // 0019 JMP #002B
0x541EFFFB, // 001A LDINT R7 65532
0x1C1C0C07, // 001B EQ R7 R6 R7
0x781E0005, // 001C JMPF R7 #0023
0x8C1C0907, // 001D GETMET R7 R4 K7
0x8824090A, // 001E GETMBR R9 R4 K10
0x58280005, // 001F LDCONST R10 K5
0x7C1C0600, // 0020 CALL R7 3
0x80040E00, // 0021 RET 1 R7
0x70020007, // 0022 JMP #002B
0x541EFFFC, // 0023 LDINT R7 65533
0x1C1C0C07, // 0024 EQ R7 R6 R7
0x781E0004, // 0025 JMPF R7 #002B
0x8C1C0907, // 0026 GETMET R7 R4 K7
0x8824090A, // 0027 GETMBR R9 R4 K10
0x5828000B, // 0028 LDCONST R10 K11
0x7C1C0600, // 0029 CALL R7 3
0x80040E00, // 002A RET 1 R7
0x70020007, // 002B JMP #0034
0x601C0003, // 002C GETGBL R7 G3
0x5C200000, // 002D MOVE R8 R0
0x7C1C0200, // 002E CALL R7 1
0x8C1C0F0C, // 002F GETMET R7 R7 K12
0x5C240200, // 0030 MOVE R9 R1
0x5C280400, // 0031 MOVE R10 R2
0x7C1C0600, // 0032 CALL R7 3
0x80040E00, // 0033 RET 1 R7
0x80000000, // 0034 RET 0
0x541A0044, // 0004 LDINT R6 69
0x1C180806, // 0005 EQ R6 R4 R6
0x781A0023, // 0006 JMPF R6 #002B
0x1C180B04, // 0007 EQ R6 R5 K4
0x781A000F, // 0008 JMPF R6 #0019
0x88180105, // 0009 GETMBR R6 R0 K5
0x4C1C0000, // 000A LDNIL R7
0x20180C07, // 000B NE R6 R6 R7
0x781A0005, // 000C JMPF R6 #0013
0x8C180706, // 000D GETMET R6 R3 K6
0x88200707, // 000E GETMBR R8 R3 K7
0x88240105, // 000F GETMBR R9 R0 K5
0x7C180600, // 0010 CALL R6 3
0x80040C00, // 0011 RET 1 R6
0x70020004, // 0012 JMP #0018
0x8C180706, // 0013 GETMET R6 R3 K6
0x88200708, // 0014 GETMBR R8 R3 K8
0x4C240000, // 0015 LDNIL R9
0x7C180600, // 0016 CALL R6 3
0x80040C00, // 0017 RET 1 R6
0x70020010, // 0018 JMP #002A
0x541AFFFB, // 0019 LDINT R6 65532
0x1C180A06, // 001A EQ R6 R5 R6
0x781A0005, // 001B JMPF R6 #0022
0x8C180706, // 001C GETMET R6 R3 K6
0x88200709, // 001D GETMBR R8 R3 K9
0x58240004, // 001E LDCONST R9 K4
0x7C180600, // 001F CALL R6 3
0x80040C00, // 0020 RET 1 R6
0x70020007, // 0021 JMP #002A
0x541AFFFC, // 0022 LDINT R6 65533
0x1C180A06, // 0023 EQ R6 R5 R6
0x781A0004, // 0024 JMPF R6 #002A
0x8C180706, // 0025 GETMET R6 R3 K6
0x88200709, // 0026 GETMBR R8 R3 K9
0x5824000A, // 0027 LDCONST R9 K10
0x7C180600, // 0028 CALL R6 3
0x80040C00, // 0029 RET 1 R6
0x70020007, // 002A JMP #0033
0x60180003, // 002B GETGBL R6 G3
0x5C1C0000, // 002C MOVE R7 R0
0x7C180200, // 002D CALL R6 1
0x8C180D0B, // 002E GETMET R6 R6 K11
0x5C200200, // 002F MOVE R8 R1
0x5C240400, // 0030 MOVE R9 R2
0x7C180600, // 0031 CALL R6 3
0x80040C00, // 0032 RET 1 R6
0x80000000, // 0033 RET 0
})
)
);

View File

@ -11,7 +11,7 @@ extern const bclass be_class_Matter_Plugin_Sensor_Humidity;
********************************************************************/
be_local_closure(Matter_Plugin_Sensor_Humidity_read_attribute, /* name */
be_nested_proto(
12, /* nstack */
11, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
@ -19,97 +19,95 @@ be_local_closure(Matter_Plugin_Sensor_Humidity_read_attribute, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[15]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(attribute),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(shadow_value),
/* K7 */ be_nested_str_weak(create_TLV),
/* K8 */ be_nested_str_weak(U2),
/* K9 */ be_nested_str_weak(NULL),
/* K10 */ be_const_int(1),
/* K11 */ be_const_int(2),
/* K12 */ be_nested_str_weak(U4),
/* K13 */ be_const_int(3),
/* K14 */ be_nested_str_weak(read_attribute),
( &(const bvalue[14]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(shadow_value),
/* K6 */ be_nested_str_weak(create_TLV),
/* K7 */ be_nested_str_weak(U2),
/* 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),
}),
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[71]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0xB8120200, // 0001 GETNGBL R4 K1
0x88100902, // 0002 GETMBR R4 R4 K2
( &(const binstruction[70]) { /* code */
0xB80E0000, // 0000 GETNGBL R3 K0
0x880C0701, // 0001 GETMBR R3 R3 K1
0x88100502, // 0002 GETMBR R4 R2 K2
0x88140503, // 0003 GETMBR R5 R2 K3
0x88180504, // 0004 GETMBR R6 R2 K4
0x541E0404, // 0005 LDINT R7 1029
0x1C1C0A07, // 0006 EQ R7 R5 R7
0x781E0035, // 0007 JMPF R7 #003E
0x1C1C0D05, // 0008 EQ R7 R6 K5
0x781E0011, // 0009 JMPF R7 #001C
0x881C0106, // 000A GETMBR R7 R0 K6
0x4C200000, // 000B LDNIL R8
0x201C0E08, // 000C NE R7 R7 R8
0x781E0007, // 000D JMPF R7 #0016
0x8C1C0907, // 000E GETMET R7 R4 K7
0x88240908, // 000F GETMBR R9 R4 K8
0x60280009, // 0010 GETGBL R10 G9
0x882C0106, // 0011 GETMBR R11 R0 K6
0x7C280200, // 0012 CALL R10 1
0x7C1C0600, // 0013 CALL R7 3
0x80040E00, // 0014 RET 1 R7
0x70020004, // 0015 JMP #001B
0x8C1C0907, // 0016 GETMET R7 R4 K7
0x88240909, // 0017 GETMBR R9 R4 K9
0x4C280000, // 0018 LDNIL R10
0x7C1C0600, // 0019 CALL R7 3
0x80040E00, // 001A RET 1 R7
0x70020020, // 001B JMP #003D
0x1C1C0D0A, // 001C EQ R7 R6 K10
0x781E0005, // 001D JMPF R7 #0024
0x8C1C0907, // 001E GETMET R7 R4 K7
0x88240908, // 001F GETMBR R9 R4 K8
0x542A01F3, // 0020 LDINT R10 500
0x7C1C0600, // 0021 CALL R7 3
0x80040E00, // 0022 RET 1 R7
0x70020018, // 0023 JMP #003D
0x1C1C0D0B, // 0024 EQ R7 R6 K11
0x781E0005, // 0025 JMPF R7 #002C
0x8C1C0907, // 0026 GETMET R7 R4 K7
0x88240908, // 0027 GETMBR R9 R4 K8
0x542A270F, // 0028 LDINT R10 10000
0x7C1C0600, // 0029 CALL R7 3
0x80040E00, // 002A RET 1 R7
0x70020010, // 002B JMP #003D
0x541EFFFB, // 002C LDINT R7 65532
0x1C1C0C07, // 002D EQ R7 R6 R7
0x781E0005, // 002E JMPF R7 #0035
0x8C1C0907, // 002F GETMET R7 R4 K7
0x8824090C, // 0030 GETMBR R9 R4 K12
0x58280005, // 0031 LDCONST R10 K5
0x7C1C0600, // 0032 CALL R7 3
0x80040E00, // 0033 RET 1 R7
0x70020007, // 0034 JMP #003D
0x541EFFFC, // 0035 LDINT R7 65533
0x1C1C0C07, // 0036 EQ R7 R6 R7
0x781E0004, // 0037 JMPF R7 #003D
0x8C1C0907, // 0038 GETMET R7 R4 K7
0x8824090C, // 0039 GETMBR R9 R4 K12
0x5828000D, // 003A LDCONST R10 K13
0x7C1C0600, // 003B CALL R7 3
0x80040E00, // 003C RET 1 R7
0x70020007, // 003D JMP #0046
0x601C0003, // 003E GETGBL R7 G3
0x5C200000, // 003F MOVE R8 R0
0x7C1C0200, // 0040 CALL R7 1
0x8C1C0F0E, // 0041 GETMET R7 R7 K14
0x5C240200, // 0042 MOVE R9 R1
0x5C280400, // 0043 MOVE R10 R2
0x7C1C0600, // 0044 CALL R7 3
0x80040E00, // 0045 RET 1 R7
0x80000000, // 0046 RET 0
0x541A0404, // 0004 LDINT R6 1029
0x1C180806, // 0005 EQ R6 R4 R6
0x781A0035, // 0006 JMPF R6 #003D
0x1C180B04, // 0007 EQ R6 R5 K4
0x781A0011, // 0008 JMPF R6 #001B
0x88180105, // 0009 GETMBR R6 R0 K5
0x4C1C0000, // 000A LDNIL R7
0x20180C07, // 000B NE R6 R6 R7
0x781A0007, // 000C JMPF R6 #0015
0x8C180706, // 000D GETMET R6 R3 K6
0x88200707, // 000E GETMBR R8 R3 K7
0x60240009, // 000F GETGBL R9 G9
0x88280105, // 0010 GETMBR R10 R0 K5
0x7C240200, // 0011 CALL R9 1
0x7C180600, // 0012 CALL R6 3
0x80040C00, // 0013 RET 1 R6
0x70020004, // 0014 JMP #001A
0x8C180706, // 0015 GETMET R6 R3 K6
0x88200708, // 0016 GETMBR R8 R3 K8
0x4C240000, // 0017 LDNIL R9
0x7C180600, // 0018 CALL R6 3
0x80040C00, // 0019 RET 1 R6
0x70020020, // 001A JMP #003C
0x1C180B09, // 001B EQ R6 R5 K9
0x781A0005, // 001C JMPF R6 #0023
0x8C180706, // 001D GETMET R6 R3 K6
0x88200707, // 001E GETMBR R8 R3 K7
0x542601F3, // 001F LDINT R9 500
0x7C180600, // 0020 CALL R6 3
0x80040C00, // 0021 RET 1 R6
0x70020018, // 0022 JMP #003C
0x1C180B0A, // 0023 EQ R6 R5 K10
0x781A0005, // 0024 JMPF R6 #002B
0x8C180706, // 0025 GETMET R6 R3 K6
0x88200707, // 0026 GETMBR R8 R3 K7
0x5426270F, // 0027 LDINT R9 10000
0x7C180600, // 0028 CALL R6 3
0x80040C00, // 0029 RET 1 R6
0x70020010, // 002A JMP #003C
0x541AFFFB, // 002B LDINT R6 65532
0x1C180A06, // 002C EQ R6 R5 R6
0x781A0005, // 002D JMPF R6 #0034
0x8C180706, // 002E GETMET R6 R3 K6
0x8820070B, // 002F GETMBR R8 R3 K11
0x58240004, // 0030 LDCONST R9 K4
0x7C180600, // 0031 CALL R6 3
0x80040C00, // 0032 RET 1 R6
0x70020007, // 0033 JMP #003C
0x541AFFFC, // 0034 LDINT R6 65533
0x1C180A06, // 0035 EQ R6 R5 R6
0x781A0004, // 0036 JMPF R6 #003C
0x8C180706, // 0037 GETMET R6 R3 K6
0x8820070B, // 0038 GETMBR R8 R3 K11
0x5824000C, // 0039 LDCONST R9 K12
0x7C180600, // 003A CALL R6 3
0x80040C00, // 003B RET 1 R6
0x70020007, // 003C JMP #0045
0x60180003, // 003D GETGBL R6 G3
0x5C1C0000, // 003E MOVE R7 R0
0x7C180200, // 003F CALL R6 1
0x8C180D0D, // 0040 GETMET R6 R6 K13
0x5C200200, // 0041 MOVE R8 R1
0x5C240400, // 0042 MOVE R9 R2
0x7C180600, // 0043 CALL R6 3
0x80040C00, // 0044 RET 1 R6
0x80000000, // 0045 RET 0
})
)
);

View File

@ -11,7 +11,7 @@ extern const bclass be_class_Matter_Plugin_Sensor_Illuminance;
********************************************************************/
be_local_closure(Matter_Plugin_Sensor_Illuminance_read_attribute, /* name */
be_nested_proto(
12, /* nstack */
11, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
@ -19,97 +19,95 @@ be_local_closure(Matter_Plugin_Sensor_Illuminance_read_attribute, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[15]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(attribute),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(shadow_value),
/* K7 */ be_nested_str_weak(create_TLV),
/* K8 */ be_nested_str_weak(U2),
/* K9 */ be_nested_str_weak(NULL),
/* K10 */ be_const_int(1),
/* K11 */ be_const_int(2),
/* K12 */ be_nested_str_weak(U4),
/* K13 */ be_const_int(3),
/* K14 */ be_nested_str_weak(read_attribute),
( &(const bvalue[14]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(shadow_value),
/* K6 */ be_nested_str_weak(create_TLV),
/* K7 */ be_nested_str_weak(U2),
/* 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),
}),
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[71]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0xB8120200, // 0001 GETNGBL R4 K1
0x88100902, // 0002 GETMBR R4 R4 K2
( &(const binstruction[70]) { /* code */
0xB80E0000, // 0000 GETNGBL R3 K0
0x880C0701, // 0001 GETMBR R3 R3 K1
0x88100502, // 0002 GETMBR R4 R2 K2
0x88140503, // 0003 GETMBR R5 R2 K3
0x88180504, // 0004 GETMBR R6 R2 K4
0x541E03FF, // 0005 LDINT R7 1024
0x1C1C0A07, // 0006 EQ R7 R5 R7
0x781E0035, // 0007 JMPF R7 #003E
0x1C1C0D05, // 0008 EQ R7 R6 K5
0x781E0011, // 0009 JMPF R7 #001C
0x881C0106, // 000A GETMBR R7 R0 K6
0x4C200000, // 000B LDNIL R8
0x201C0E08, // 000C NE R7 R7 R8
0x781E0007, // 000D JMPF R7 #0016
0x8C1C0907, // 000E GETMET R7 R4 K7
0x88240908, // 000F GETMBR R9 R4 K8
0x60280009, // 0010 GETGBL R10 G9
0x882C0106, // 0011 GETMBR R11 R0 K6
0x7C280200, // 0012 CALL R10 1
0x7C1C0600, // 0013 CALL R7 3
0x80040E00, // 0014 RET 1 R7
0x70020004, // 0015 JMP #001B
0x8C1C0907, // 0016 GETMET R7 R4 K7
0x88240909, // 0017 GETMBR R9 R4 K9
0x4C280000, // 0018 LDNIL R10
0x7C1C0600, // 0019 CALL R7 3
0x80040E00, // 001A RET 1 R7
0x70020020, // 001B JMP #003D
0x1C1C0D0A, // 001C EQ R7 R6 K10
0x781E0005, // 001D JMPF R7 #0024
0x8C1C0907, // 001E GETMET R7 R4 K7
0x88240908, // 001F GETMBR R9 R4 K8
0x5828000A, // 0020 LDCONST R10 K10
0x7C1C0600, // 0021 CALL R7 3
0x80040E00, // 0022 RET 1 R7
0x70020018, // 0023 JMP #003D
0x1C1C0D0B, // 0024 EQ R7 R6 K11
0x781E0005, // 0025 JMPF R7 #002C
0x8C1C0907, // 0026 GETMET R7 R4 K7
0x88240908, // 0027 GETMBR R9 R4 K8
0x542AFFFD, // 0028 LDINT R10 65534
0x7C1C0600, // 0029 CALL R7 3
0x80040E00, // 002A RET 1 R7
0x70020010, // 002B JMP #003D
0x541EFFFB, // 002C LDINT R7 65532
0x1C1C0C07, // 002D EQ R7 R6 R7
0x781E0005, // 002E JMPF R7 #0035
0x8C1C0907, // 002F GETMET R7 R4 K7
0x8824090C, // 0030 GETMBR R9 R4 K12
0x58280005, // 0031 LDCONST R10 K5
0x7C1C0600, // 0032 CALL R7 3
0x80040E00, // 0033 RET 1 R7
0x70020007, // 0034 JMP #003D
0x541EFFFC, // 0035 LDINT R7 65533
0x1C1C0C07, // 0036 EQ R7 R6 R7
0x781E0004, // 0037 JMPF R7 #003D
0x8C1C0907, // 0038 GETMET R7 R4 K7
0x8824090C, // 0039 GETMBR R9 R4 K12
0x5828000D, // 003A LDCONST R10 K13
0x7C1C0600, // 003B CALL R7 3
0x80040E00, // 003C RET 1 R7
0x70020007, // 003D JMP #0046
0x601C0003, // 003E GETGBL R7 G3
0x5C200000, // 003F MOVE R8 R0
0x7C1C0200, // 0040 CALL R7 1
0x8C1C0F0E, // 0041 GETMET R7 R7 K14
0x5C240200, // 0042 MOVE R9 R1
0x5C280400, // 0043 MOVE R10 R2
0x7C1C0600, // 0044 CALL R7 3
0x80040E00, // 0045 RET 1 R7
0x80000000, // 0046 RET 0
0x541A03FF, // 0004 LDINT R6 1024
0x1C180806, // 0005 EQ R6 R4 R6
0x781A0035, // 0006 JMPF R6 #003D
0x1C180B04, // 0007 EQ R6 R5 K4
0x781A0011, // 0008 JMPF R6 #001B
0x88180105, // 0009 GETMBR R6 R0 K5
0x4C1C0000, // 000A LDNIL R7
0x20180C07, // 000B NE R6 R6 R7
0x781A0007, // 000C JMPF R6 #0015
0x8C180706, // 000D GETMET R6 R3 K6
0x88200707, // 000E GETMBR R8 R3 K7
0x60240009, // 000F GETGBL R9 G9
0x88280105, // 0010 GETMBR R10 R0 K5
0x7C240200, // 0011 CALL R9 1
0x7C180600, // 0012 CALL R6 3
0x80040C00, // 0013 RET 1 R6
0x70020004, // 0014 JMP #001A
0x8C180706, // 0015 GETMET R6 R3 K6
0x88200708, // 0016 GETMBR R8 R3 K8
0x4C240000, // 0017 LDNIL R9
0x7C180600, // 0018 CALL R6 3
0x80040C00, // 0019 RET 1 R6
0x70020020, // 001A JMP #003C
0x1C180B09, // 001B EQ R6 R5 K9
0x781A0005, // 001C JMPF R6 #0023
0x8C180706, // 001D GETMET R6 R3 K6
0x88200707, // 001E GETMBR R8 R3 K7
0x58240009, // 001F LDCONST R9 K9
0x7C180600, // 0020 CALL R6 3
0x80040C00, // 0021 RET 1 R6
0x70020018, // 0022 JMP #003C
0x1C180B0A, // 0023 EQ R6 R5 K10
0x781A0005, // 0024 JMPF R6 #002B
0x8C180706, // 0025 GETMET R6 R3 K6
0x88200707, // 0026 GETMBR R8 R3 K7
0x5426FFFD, // 0027 LDINT R9 65534
0x7C180600, // 0028 CALL R6 3
0x80040C00, // 0029 RET 1 R6
0x70020010, // 002A JMP #003C
0x541AFFFB, // 002B LDINT R6 65532
0x1C180A06, // 002C EQ R6 R5 R6
0x781A0005, // 002D JMPF R6 #0034
0x8C180706, // 002E GETMET R6 R3 K6
0x8820070B, // 002F GETMBR R8 R3 K11
0x58240004, // 0030 LDCONST R9 K4
0x7C180600, // 0031 CALL R6 3
0x80040C00, // 0032 RET 1 R6
0x70020007, // 0033 JMP #003C
0x541AFFFC, // 0034 LDINT R6 65533
0x1C180A06, // 0035 EQ R6 R5 R6
0x781A0004, // 0036 JMPF R6 #003C
0x8C180706, // 0037 GETMET R6 R3 K6
0x8820070B, // 0038 GETMBR R8 R3 K11
0x5824000C, // 0039 LDCONST R9 K12
0x7C180600, // 003A CALL R6 3
0x80040C00, // 003B RET 1 R6
0x70020007, // 003C JMP #0045
0x60180003, // 003D GETGBL R6 G3
0x5C1C0000, // 003E MOVE R7 R0
0x7C180200, // 003F CALL R6 1
0x8C180D0D, // 0040 GETMET R6 R6 K13
0x5C200200, // 0041 MOVE R8 R1
0x5C240400, // 0042 MOVE R9 R2
0x7C180600, // 0043 CALL R6 3
0x80040C00, // 0044 RET 1 R6
0x80000000, // 0045 RET 0
})
)
);

View File

@ -79,7 +79,7 @@ be_local_closure(Matter_Plugin_Sensor_Occupancy_parse_configuration, /* name *
********************************************************************/
be_local_closure(Matter_Plugin_Sensor_Occupancy_read_attribute, /* name */
be_nested_proto(
11, /* nstack */
10, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
@ -87,95 +87,93 @@ be_local_closure(Matter_Plugin_Sensor_Occupancy_read_attribute, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[15]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(attribute),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(shadow_occupancy),
/* K7 */ be_nested_str_weak(create_TLV),
/* K8 */ be_nested_str_weak(U1),
/* K9 */ be_nested_str_weak(NULL),
/* K10 */ be_const_int(1),
/* K11 */ be_const_int(3),
/* K12 */ be_const_int(2),
/* K13 */ be_nested_str_weak(U4),
/* K14 */ be_nested_str_weak(read_attribute),
( &(const bvalue[14]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(shadow_occupancy),
/* K6 */ be_nested_str_weak(create_TLV),
/* K7 */ be_nested_str_weak(U1),
/* K8 */ be_nested_str_weak(NULL),
/* 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),
}),
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[69]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0xB8120200, // 0001 GETNGBL R4 K1
0x88100902, // 0002 GETMBR R4 R4 K2
( &(const binstruction[68]) { /* code */
0xB80E0000, // 0000 GETNGBL R3 K0
0x880C0701, // 0001 GETMBR R3 R3 K1
0x88100502, // 0002 GETMBR R4 R2 K2
0x88140503, // 0003 GETMBR R5 R2 K3
0x88180504, // 0004 GETMBR R6 R2 K4
0x541E0405, // 0005 LDINT R7 1030
0x1C1C0A07, // 0006 EQ R7 R5 R7
0x781E0033, // 0007 JMPF R7 #003C
0x1C1C0D05, // 0008 EQ R7 R6 K5
0x781E000F, // 0009 JMPF R7 #001A
0x881C0106, // 000A GETMBR R7 R0 K6
0x4C200000, // 000B LDNIL R8
0x201C0E08, // 000C NE R7 R7 R8
0x781E0005, // 000D JMPF R7 #0014
0x8C1C0907, // 000E GETMET R7 R4 K7
0x88240908, // 000F GETMBR R9 R4 K8
0x88280106, // 0010 GETMBR R10 R0 K6
0x7C1C0600, // 0011 CALL R7 3
0x80040E00, // 0012 RET 1 R7
0x70020004, // 0013 JMP #0019
0x8C1C0907, // 0014 GETMET R7 R4 K7
0x88240909, // 0015 GETMBR R9 R4 K9
0x4C280000, // 0016 LDNIL R10
0x7C1C0600, // 0017 CALL R7 3
0x80040E00, // 0018 RET 1 R7
0x70020020, // 0019 JMP #003B
0x1C1C0D0A, // 001A EQ R7 R6 K10
0x781E0005, // 001B JMPF R7 #0022
0x8C1C0907, // 001C GETMET R7 R4 K7
0x88240908, // 001D GETMBR R9 R4 K8
0x5828000B, // 001E LDCONST R10 K11
0x7C1C0600, // 001F CALL R7 3
0x80040E00, // 0020 RET 1 R7
0x70020018, // 0021 JMP #003B
0x1C1C0D0C, // 0022 EQ R7 R6 K12
0x781E0005, // 0023 JMPF R7 #002A
0x8C1C0907, // 0024 GETMET R7 R4 K7
0x88240908, // 0025 GETMBR R9 R4 K8
0x58280005, // 0026 LDCONST R10 K5
0x7C1C0600, // 0027 CALL R7 3
0x80040E00, // 0028 RET 1 R7
0x70020010, // 0029 JMP #003B
0x541EFFFB, // 002A LDINT R7 65532
0x1C1C0C07, // 002B EQ R7 R6 R7
0x781E0005, // 002C JMPF R7 #0033
0x8C1C0907, // 002D GETMET R7 R4 K7
0x8824090D, // 002E GETMBR R9 R4 K13
0x58280005, // 002F LDCONST R10 K5
0x7C1C0600, // 0030 CALL R7 3
0x80040E00, // 0031 RET 1 R7
0x70020007, // 0032 JMP #003B
0x541EFFFC, // 0033 LDINT R7 65533
0x1C1C0C07, // 0034 EQ R7 R6 R7
0x781E0004, // 0035 JMPF R7 #003B
0x8C1C0907, // 0036 GETMET R7 R4 K7
0x8824090D, // 0037 GETMBR R9 R4 K13
0x5828000B, // 0038 LDCONST R10 K11
0x7C1C0600, // 0039 CALL R7 3
0x80040E00, // 003A RET 1 R7
0x70020007, // 003B JMP #0044
0x601C0003, // 003C GETGBL R7 G3
0x5C200000, // 003D MOVE R8 R0
0x7C1C0200, // 003E CALL R7 1
0x8C1C0F0E, // 003F GETMET R7 R7 K14
0x5C240200, // 0040 MOVE R9 R1
0x5C280400, // 0041 MOVE R10 R2
0x7C1C0600, // 0042 CALL R7 3
0x80040E00, // 0043 RET 1 R7
0x80000000, // 0044 RET 0
0x541A0405, // 0004 LDINT R6 1030
0x1C180806, // 0005 EQ R6 R4 R6
0x781A0033, // 0006 JMPF R6 #003B
0x1C180B04, // 0007 EQ R6 R5 K4
0x781A000F, // 0008 JMPF R6 #0019
0x88180105, // 0009 GETMBR R6 R0 K5
0x4C1C0000, // 000A LDNIL R7
0x20180C07, // 000B NE R6 R6 R7
0x781A0005, // 000C JMPF R6 #0013
0x8C180706, // 000D GETMET R6 R3 K6
0x88200707, // 000E GETMBR R8 R3 K7
0x88240105, // 000F GETMBR R9 R0 K5
0x7C180600, // 0010 CALL R6 3
0x80040C00, // 0011 RET 1 R6
0x70020004, // 0012 JMP #0018
0x8C180706, // 0013 GETMET R6 R3 K6
0x88200708, // 0014 GETMBR R8 R3 K8
0x4C240000, // 0015 LDNIL R9
0x7C180600, // 0016 CALL R6 3
0x80040C00, // 0017 RET 1 R6
0x70020020, // 0018 JMP #003A
0x1C180B09, // 0019 EQ R6 R5 K9
0x781A0005, // 001A JMPF R6 #0021
0x8C180706, // 001B GETMET R6 R3 K6
0x88200707, // 001C GETMBR R8 R3 K7
0x5824000A, // 001D LDCONST R9 K10
0x7C180600, // 001E CALL R6 3
0x80040C00, // 001F RET 1 R6
0x70020018, // 0020 JMP #003A
0x1C180B0B, // 0021 EQ R6 R5 K11
0x781A0005, // 0022 JMPF R6 #0029
0x8C180706, // 0023 GETMET R6 R3 K6
0x88200707, // 0024 GETMBR R8 R3 K7
0x58240004, // 0025 LDCONST R9 K4
0x7C180600, // 0026 CALL R6 3
0x80040C00, // 0027 RET 1 R6
0x70020010, // 0028 JMP #003A
0x541AFFFB, // 0029 LDINT R6 65532
0x1C180A06, // 002A EQ R6 R5 R6
0x781A0005, // 002B JMPF R6 #0032
0x8C180706, // 002C GETMET R6 R3 K6
0x8820070C, // 002D GETMBR R8 R3 K12
0x58240004, // 002E LDCONST R9 K4
0x7C180600, // 002F CALL R6 3
0x80040C00, // 0030 RET 1 R6
0x70020007, // 0031 JMP #003A
0x541AFFFC, // 0032 LDINT R6 65533
0x1C180A06, // 0033 EQ R6 R5 R6
0x781A0004, // 0034 JMPF R6 #003A
0x8C180706, // 0035 GETMET R6 R3 K6
0x8820070C, // 0036 GETMBR R8 R3 K12
0x5824000A, // 0037 LDCONST R9 K10
0x7C180600, // 0038 CALL R6 3
0x80040C00, // 0039 RET 1 R6
0x70020007, // 003A JMP #0043
0x60180003, // 003B GETGBL R6 G3
0x5C1C0000, // 003C MOVE R7 R0
0x7C180200, // 003D CALL R6 1
0x8C180D0D, // 003E GETMET R6 R6 K13
0x5C200200, // 003F MOVE R8 R1
0x5C240400, // 0040 MOVE R9 R2
0x7C180600, // 0041 CALL R6 3
0x80040C00, // 0042 RET 1 R6
0x80000000, // 0043 RET 0
})
)
);

View File

@ -79,7 +79,7 @@ be_local_closure(Matter_Plugin_Sensor_OnOff_parse_configuration, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_Sensor_OnOff_read_attribute, /* name */
be_nested_proto(
11, /* nstack */
10, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
@ -87,68 +87,66 @@ be_local_closure(Matter_Plugin_Sensor_OnOff_read_attribute, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[12]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(attribute),
/* K5 */ be_nested_str_weak(update_shadow_lazy),
/* K6 */ be_const_int(0),
/* K7 */ be_nested_str_weak(create_TLV),
/* K8 */ be_nested_str_weak(BOOL),
/* K9 */ be_nested_str_weak(shadow_onoff),
/* K10 */ be_nested_str_weak(U4),
/* K11 */ be_nested_str_weak(read_attribute),
( &(const bvalue[11]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_nested_str_weak(update_shadow_lazy),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(create_TLV),
/* 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),
}),
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[45]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0xB8120200, // 0001 GETNGBL R4 K1
0x88100902, // 0002 GETMBR R4 R4 K2
( &(const binstruction[44]) { /* code */
0xB80E0000, // 0000 GETNGBL R3 K0
0x880C0701, // 0001 GETMBR R3 R3 K1
0x88100502, // 0002 GETMBR R4 R2 K2
0x88140503, // 0003 GETMBR R5 R2 K3
0x88180504, // 0004 GETMBR R6 R2 K4
0x541E0005, // 0005 LDINT R7 6
0x1C1C0A07, // 0006 EQ R7 R5 R7
0x781E001B, // 0007 JMPF R7 #0024
0x8C1C0105, // 0008 GETMET R7 R0 K5
0x7C1C0200, // 0009 CALL R7 1
0x1C1C0D06, // 000A EQ R7 R6 K6
0x781E0005, // 000B JMPF R7 #0012
0x8C1C0907, // 000C GETMET R7 R4 K7
0x88240908, // 000D GETMBR R9 R4 K8
0x88280109, // 000E GETMBR R10 R0 K9
0x7C1C0600, // 000F CALL R7 3
0x80040E00, // 0010 RET 1 R7
0x70020010, // 0011 JMP #0023
0x541EFFFB, // 0012 LDINT R7 65532
0x1C1C0C07, // 0013 EQ R7 R6 R7
0x781E0005, // 0014 JMPF R7 #001B
0x8C1C0907, // 0015 GETMET R7 R4 K7
0x8824090A, // 0016 GETMBR R9 R4 K10
0x58280006, // 0017 LDCONST R10 K6
0x7C1C0600, // 0018 CALL R7 3
0x80040E00, // 0019 RET 1 R7
0x70020007, // 001A JMP #0023
0x541EFFFC, // 001B LDINT R7 65533
0x1C1C0C07, // 001C EQ R7 R6 R7
0x781E0004, // 001D JMPF R7 #0023
0x8C1C0907, // 001E GETMET R7 R4 K7
0x8824090A, // 001F GETMBR R9 R4 K10
0x542A0003, // 0020 LDINT R10 4
0x7C1C0600, // 0021 CALL R7 3
0x80040E00, // 0022 RET 1 R7
0x70020007, // 0023 JMP #002C
0x601C0003, // 0024 GETGBL R7 G3
0x5C200000, // 0025 MOVE R8 R0
0x7C1C0200, // 0026 CALL R7 1
0x8C1C0F0B, // 0027 GETMET R7 R7 K11
0x5C240200, // 0028 MOVE R9 R1
0x5C280400, // 0029 MOVE R10 R2
0x7C1C0600, // 002A CALL R7 3
0x80040E00, // 002B RET 1 R7
0x80000000, // 002C RET 0
0x541A0005, // 0004 LDINT R6 6
0x1C180806, // 0005 EQ R6 R4 R6
0x781A001B, // 0006 JMPF R6 #0023
0x8C180104, // 0007 GETMET R6 R0 K4
0x7C180200, // 0008 CALL R6 1
0x1C180B05, // 0009 EQ R6 R5 K5
0x781A0005, // 000A JMPF R6 #0011
0x8C180706, // 000B GETMET R6 R3 K6
0x88200707, // 000C GETMBR R8 R3 K7
0x88240108, // 000D GETMBR R9 R0 K8
0x7C180600, // 000E CALL R6 3
0x80040C00, // 000F RET 1 R6
0x70020010, // 0010 JMP #0022
0x541AFFFB, // 0011 LDINT R6 65532
0x1C180A06, // 0012 EQ R6 R5 R6
0x781A0005, // 0013 JMPF R6 #001A
0x8C180706, // 0014 GETMET R6 R3 K6
0x88200709, // 0015 GETMBR R8 R3 K9
0x58240005, // 0016 LDCONST R9 K5
0x7C180600, // 0017 CALL R6 3
0x80040C00, // 0018 RET 1 R6
0x70020007, // 0019 JMP #0022
0x541AFFFC, // 001A LDINT R6 65533
0x1C180A06, // 001B EQ R6 R5 R6
0x781A0004, // 001C JMPF R6 #0022
0x8C180706, // 001D GETMET R6 R3 K6
0x88200709, // 001E GETMBR R8 R3 K9
0x54260003, // 001F LDINT R9 4
0x7C180600, // 0020 CALL R6 3
0x80040C00, // 0021 RET 1 R6
0x70020007, // 0022 JMP #002B
0x60180003, // 0023 GETGBL R6 G3
0x5C1C0000, // 0024 MOVE R7 R0
0x7C180200, // 0025 CALL R6 1
0x8C180D0A, // 0026 GETMET R6 R6 K10
0x5C200200, // 0027 MOVE R8 R1
0x5C240400, // 0028 MOVE R9 R2
0x7C180600, // 0029 CALL R6 3
0x80040C00, // 002A RET 1 R6
0x80000000, // 002B RET 0
})
)
);

View File

@ -11,7 +11,7 @@ extern const bclass be_class_Matter_Plugin_Sensor_Pressure;
********************************************************************/
be_local_closure(Matter_Plugin_Sensor_Pressure_read_attribute, /* name */
be_nested_proto(
12, /* nstack */
11, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
@ -19,97 +19,95 @@ be_local_closure(Matter_Plugin_Sensor_Pressure_read_attribute, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[15]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(attribute),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(shadow_value),
/* K7 */ be_nested_str_weak(create_TLV),
/* K8 */ be_nested_str_weak(I2),
/* K9 */ be_nested_str_weak(NULL),
/* K10 */ be_const_int(1),
/* K11 */ be_const_int(2),
/* K12 */ be_nested_str_weak(U4),
/* K13 */ be_const_int(3),
/* K14 */ be_nested_str_weak(read_attribute),
( &(const bvalue[14]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(shadow_value),
/* K6 */ be_nested_str_weak(create_TLV),
/* K7 */ be_nested_str_weak(I2),
/* 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),
}),
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[71]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0xB8120200, // 0001 GETNGBL R4 K1
0x88100902, // 0002 GETMBR R4 R4 K2
( &(const binstruction[70]) { /* code */
0xB80E0000, // 0000 GETNGBL R3 K0
0x880C0701, // 0001 GETMBR R3 R3 K1
0x88100502, // 0002 GETMBR R4 R2 K2
0x88140503, // 0003 GETMBR R5 R2 K3
0x88180504, // 0004 GETMBR R6 R2 K4
0x541E0402, // 0005 LDINT R7 1027
0x1C1C0A07, // 0006 EQ R7 R5 R7
0x781E0035, // 0007 JMPF R7 #003E
0x1C1C0D05, // 0008 EQ R7 R6 K5
0x781E0011, // 0009 JMPF R7 #001C
0x881C0106, // 000A GETMBR R7 R0 K6
0x4C200000, // 000B LDNIL R8
0x201C0E08, // 000C NE R7 R7 R8
0x781E0007, // 000D JMPF R7 #0016
0x8C1C0907, // 000E GETMET R7 R4 K7
0x88240908, // 000F GETMBR R9 R4 K8
0x60280009, // 0010 GETGBL R10 G9
0x882C0106, // 0011 GETMBR R11 R0 K6
0x7C280200, // 0012 CALL R10 1
0x7C1C0600, // 0013 CALL R7 3
0x80040E00, // 0014 RET 1 R7
0x70020004, // 0015 JMP #001B
0x8C1C0907, // 0016 GETMET R7 R4 K7
0x88240909, // 0017 GETMBR R9 R4 K9
0x4C280000, // 0018 LDNIL R10
0x7C1C0600, // 0019 CALL R7 3
0x80040E00, // 001A RET 1 R7
0x70020020, // 001B JMP #003D
0x1C1C0D0A, // 001C EQ R7 R6 K10
0x781E0005, // 001D JMPF R7 #0024
0x8C1C0907, // 001E GETMET R7 R4 K7
0x88240908, // 001F GETMBR R9 R4 K8
0x542A01F3, // 0020 LDINT R10 500
0x7C1C0600, // 0021 CALL R7 3
0x80040E00, // 0022 RET 1 R7
0x70020018, // 0023 JMP #003D
0x1C1C0D0B, // 0024 EQ R7 R6 K11
0x781E0005, // 0025 JMPF R7 #002C
0x8C1C0907, // 0026 GETMET R7 R4 K7
0x88240908, // 0027 GETMBR R9 R4 K8
0x542A05DB, // 0028 LDINT R10 1500
0x7C1C0600, // 0029 CALL R7 3
0x80040E00, // 002A RET 1 R7
0x70020010, // 002B JMP #003D
0x541EFFFB, // 002C LDINT R7 65532
0x1C1C0C07, // 002D EQ R7 R6 R7
0x781E0005, // 002E JMPF R7 #0035
0x8C1C0907, // 002F GETMET R7 R4 K7
0x8824090C, // 0030 GETMBR R9 R4 K12
0x58280005, // 0031 LDCONST R10 K5
0x7C1C0600, // 0032 CALL R7 3
0x80040E00, // 0033 RET 1 R7
0x70020007, // 0034 JMP #003D
0x541EFFFC, // 0035 LDINT R7 65533
0x1C1C0C07, // 0036 EQ R7 R6 R7
0x781E0004, // 0037 JMPF R7 #003D
0x8C1C0907, // 0038 GETMET R7 R4 K7
0x8824090C, // 0039 GETMBR R9 R4 K12
0x5828000D, // 003A LDCONST R10 K13
0x7C1C0600, // 003B CALL R7 3
0x80040E00, // 003C RET 1 R7
0x70020007, // 003D JMP #0046
0x601C0003, // 003E GETGBL R7 G3
0x5C200000, // 003F MOVE R8 R0
0x7C1C0200, // 0040 CALL R7 1
0x8C1C0F0E, // 0041 GETMET R7 R7 K14
0x5C240200, // 0042 MOVE R9 R1
0x5C280400, // 0043 MOVE R10 R2
0x7C1C0600, // 0044 CALL R7 3
0x80040E00, // 0045 RET 1 R7
0x80000000, // 0046 RET 0
0x541A0402, // 0004 LDINT R6 1027
0x1C180806, // 0005 EQ R6 R4 R6
0x781A0035, // 0006 JMPF R6 #003D
0x1C180B04, // 0007 EQ R6 R5 K4
0x781A0011, // 0008 JMPF R6 #001B
0x88180105, // 0009 GETMBR R6 R0 K5
0x4C1C0000, // 000A LDNIL R7
0x20180C07, // 000B NE R6 R6 R7
0x781A0007, // 000C JMPF R6 #0015
0x8C180706, // 000D GETMET R6 R3 K6
0x88200707, // 000E GETMBR R8 R3 K7
0x60240009, // 000F GETGBL R9 G9
0x88280105, // 0010 GETMBR R10 R0 K5
0x7C240200, // 0011 CALL R9 1
0x7C180600, // 0012 CALL R6 3
0x80040C00, // 0013 RET 1 R6
0x70020004, // 0014 JMP #001A
0x8C180706, // 0015 GETMET R6 R3 K6
0x88200708, // 0016 GETMBR R8 R3 K8
0x4C240000, // 0017 LDNIL R9
0x7C180600, // 0018 CALL R6 3
0x80040C00, // 0019 RET 1 R6
0x70020020, // 001A JMP #003C
0x1C180B09, // 001B EQ R6 R5 K9
0x781A0005, // 001C JMPF R6 #0023
0x8C180706, // 001D GETMET R6 R3 K6
0x88200707, // 001E GETMBR R8 R3 K7
0x542601F3, // 001F LDINT R9 500
0x7C180600, // 0020 CALL R6 3
0x80040C00, // 0021 RET 1 R6
0x70020018, // 0022 JMP #003C
0x1C180B0A, // 0023 EQ R6 R5 K10
0x781A0005, // 0024 JMPF R6 #002B
0x8C180706, // 0025 GETMET R6 R3 K6
0x88200707, // 0026 GETMBR R8 R3 K7
0x542605DB, // 0027 LDINT R9 1500
0x7C180600, // 0028 CALL R6 3
0x80040C00, // 0029 RET 1 R6
0x70020010, // 002A JMP #003C
0x541AFFFB, // 002B LDINT R6 65532
0x1C180A06, // 002C EQ R6 R5 R6
0x781A0005, // 002D JMPF R6 #0034
0x8C180706, // 002E GETMET R6 R3 K6
0x8820070B, // 002F GETMBR R8 R3 K11
0x58240004, // 0030 LDCONST R9 K4
0x7C180600, // 0031 CALL R6 3
0x80040C00, // 0032 RET 1 R6
0x70020007, // 0033 JMP #003C
0x541AFFFC, // 0034 LDINT R6 65533
0x1C180A06, // 0035 EQ R6 R5 R6
0x781A0004, // 0036 JMPF R6 #003C
0x8C180706, // 0037 GETMET R6 R3 K6
0x8820070B, // 0038 GETMBR R8 R3 K11
0x5824000C, // 0039 LDCONST R9 K12
0x7C180600, // 003A CALL R6 3
0x80040C00, // 003B RET 1 R6
0x70020007, // 003C JMP #0045
0x60180003, // 003D GETGBL R6 G3
0x5C1C0000, // 003E MOVE R7 R0
0x7C180200, // 003F CALL R6 1
0x8C180D0D, // 0040 GETMET R6 R6 K13
0x5C200200, // 0041 MOVE R8 R1
0x5C240400, // 0042 MOVE R9 R2
0x7C180600, // 0043 CALL R6 3
0x80040C00, // 0044 RET 1 R6
0x80000000, // 0045 RET 0
})
)
);

View File

@ -11,7 +11,7 @@ extern const bclass be_class_Matter_Plugin_Sensor_Temp;
********************************************************************/
be_local_closure(Matter_Plugin_Sensor_Temp_read_attribute, /* name */
be_nested_proto(
11, /* nstack */
10, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
@ -19,94 +19,92 @@ be_local_closure(Matter_Plugin_Sensor_Temp_read_attribute, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[14]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(attribute),
/* K5 */ be_const_int(0),
/* K6 */ be_nested_str_weak(shadow_value),
/* K7 */ be_nested_str_weak(create_TLV),
/* K8 */ be_nested_str_weak(I2),
/* K9 */ be_nested_str_weak(NULL),
/* K10 */ be_const_int(1),
/* K11 */ be_const_int(2),
/* K12 */ be_nested_str_weak(U4),
/* K13 */ be_nested_str_weak(read_attribute),
( &(const bvalue[13]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_const_int(0),
/* K5 */ be_nested_str_weak(shadow_value),
/* K6 */ be_nested_str_weak(create_TLV),
/* K7 */ be_nested_str_weak(I2),
/* 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),
}),
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[69]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0xB8120200, // 0001 GETNGBL R4 K1
0x88100902, // 0002 GETMBR R4 R4 K2
( &(const binstruction[68]) { /* code */
0xB80E0000, // 0000 GETNGBL R3 K0
0x880C0701, // 0001 GETMBR R3 R3 K1
0x88100502, // 0002 GETMBR R4 R2 K2
0x88140503, // 0003 GETMBR R5 R2 K3
0x88180504, // 0004 GETMBR R6 R2 K4
0x541E0401, // 0005 LDINT R7 1026
0x1C1C0A07, // 0006 EQ R7 R5 R7
0x781E0033, // 0007 JMPF R7 #003C
0x1C1C0D05, // 0008 EQ R7 R6 K5
0x781E000F, // 0009 JMPF R7 #001A
0x881C0106, // 000A GETMBR R7 R0 K6
0x4C200000, // 000B LDNIL R8
0x201C0E08, // 000C NE R7 R7 R8
0x781E0005, // 000D JMPF R7 #0014
0x8C1C0907, // 000E GETMET R7 R4 K7
0x88240908, // 000F GETMBR R9 R4 K8
0x88280106, // 0010 GETMBR R10 R0 K6
0x7C1C0600, // 0011 CALL R7 3
0x80040E00, // 0012 RET 1 R7
0x70020004, // 0013 JMP #0019
0x8C1C0907, // 0014 GETMET R7 R4 K7
0x88240909, // 0015 GETMBR R9 R4 K9
0x4C280000, // 0016 LDNIL R10
0x7C1C0600, // 0017 CALL R7 3
0x80040E00, // 0018 RET 1 R7
0x70020020, // 0019 JMP #003B
0x1C1C0D0A, // 001A EQ R7 R6 K10
0x781E0005, // 001B JMPF R7 #0022
0x8C1C0907, // 001C GETMET R7 R4 K7
0x88240908, // 001D GETMBR R9 R4 K8
0x5429EC77, // 001E LDINT R10 -5000
0x7C1C0600, // 001F CALL R7 3
0x80040E00, // 0020 RET 1 R7
0x70020018, // 0021 JMP #003B
0x1C1C0D0B, // 0022 EQ R7 R6 K11
0x781E0005, // 0023 JMPF R7 #002A
0x8C1C0907, // 0024 GETMET R7 R4 K7
0x88240908, // 0025 GETMBR R9 R4 K8
0x542A3A97, // 0026 LDINT R10 15000
0x7C1C0600, // 0027 CALL R7 3
0x80040E00, // 0028 RET 1 R7
0x70020010, // 0029 JMP #003B
0x541EFFFB, // 002A LDINT R7 65532
0x1C1C0C07, // 002B EQ R7 R6 R7
0x781E0005, // 002C JMPF R7 #0033
0x8C1C0907, // 002D GETMET R7 R4 K7
0x8824090C, // 002E GETMBR R9 R4 K12
0x58280005, // 002F LDCONST R10 K5
0x7C1C0600, // 0030 CALL R7 3
0x80040E00, // 0031 RET 1 R7
0x70020007, // 0032 JMP #003B
0x541EFFFC, // 0033 LDINT R7 65533
0x1C1C0C07, // 0034 EQ R7 R6 R7
0x781E0004, // 0035 JMPF R7 #003B
0x8C1C0907, // 0036 GETMET R7 R4 K7
0x8824090C, // 0037 GETMBR R9 R4 K12
0x542A0003, // 0038 LDINT R10 4
0x7C1C0600, // 0039 CALL R7 3
0x80040E00, // 003A RET 1 R7
0x70020007, // 003B JMP #0044
0x601C0003, // 003C GETGBL R7 G3
0x5C200000, // 003D MOVE R8 R0
0x7C1C0200, // 003E CALL R7 1
0x8C1C0F0D, // 003F GETMET R7 R7 K13
0x5C240200, // 0040 MOVE R9 R1
0x5C280400, // 0041 MOVE R10 R2
0x7C1C0600, // 0042 CALL R7 3
0x80040E00, // 0043 RET 1 R7
0x80000000, // 0044 RET 0
0x541A0401, // 0004 LDINT R6 1026
0x1C180806, // 0005 EQ R6 R4 R6
0x781A0033, // 0006 JMPF R6 #003B
0x1C180B04, // 0007 EQ R6 R5 K4
0x781A000F, // 0008 JMPF R6 #0019
0x88180105, // 0009 GETMBR R6 R0 K5
0x4C1C0000, // 000A LDNIL R7
0x20180C07, // 000B NE R6 R6 R7
0x781A0005, // 000C JMPF R6 #0013
0x8C180706, // 000D GETMET R6 R3 K6
0x88200707, // 000E GETMBR R8 R3 K7
0x88240105, // 000F GETMBR R9 R0 K5
0x7C180600, // 0010 CALL R6 3
0x80040C00, // 0011 RET 1 R6
0x70020004, // 0012 JMP #0018
0x8C180706, // 0013 GETMET R6 R3 K6
0x88200708, // 0014 GETMBR R8 R3 K8
0x4C240000, // 0015 LDNIL R9
0x7C180600, // 0016 CALL R6 3
0x80040C00, // 0017 RET 1 R6
0x70020020, // 0018 JMP #003A
0x1C180B09, // 0019 EQ R6 R5 K9
0x781A0005, // 001A JMPF R6 #0021
0x8C180706, // 001B GETMET R6 R3 K6
0x88200707, // 001C GETMBR R8 R3 K7
0x5425EC77, // 001D LDINT R9 -5000
0x7C180600, // 001E CALL R6 3
0x80040C00, // 001F RET 1 R6
0x70020018, // 0020 JMP #003A
0x1C180B0A, // 0021 EQ R6 R5 K10
0x781A0005, // 0022 JMPF R6 #0029
0x8C180706, // 0023 GETMET R6 R3 K6
0x88200707, // 0024 GETMBR R8 R3 K7
0x54263A97, // 0025 LDINT R9 15000
0x7C180600, // 0026 CALL R6 3
0x80040C00, // 0027 RET 1 R6
0x70020010, // 0028 JMP #003A
0x541AFFFB, // 0029 LDINT R6 65532
0x1C180A06, // 002A EQ R6 R5 R6
0x781A0005, // 002B JMPF R6 #0032
0x8C180706, // 002C GETMET R6 R3 K6
0x8820070B, // 002D GETMBR R8 R3 K11
0x58240004, // 002E LDCONST R9 K4
0x7C180600, // 002F CALL R6 3
0x80040C00, // 0030 RET 1 R6
0x70020007, // 0031 JMP #003A
0x541AFFFC, // 0032 LDINT R6 65533
0x1C180A06, // 0033 EQ R6 R5 R6
0x781A0004, // 0034 JMPF R6 #003A
0x8C180706, // 0035 GETMET R6 R3 K6
0x8820070B, // 0036 GETMBR R8 R3 K11
0x54260003, // 0037 LDINT R9 4
0x7C180600, // 0038 CALL R6 3
0x80040C00, // 0039 RET 1 R6
0x70020007, // 003A JMP #0043
0x60180003, // 003B GETGBL R6 G3
0x5C1C0000, // 003C MOVE R7 R0
0x7C180200, // 003D CALL R6 1
0x8C180D0C, // 003E GETMET R6 R6 K12
0x5C200200, // 003F MOVE R8 R1
0x5C240400, // 0040 MOVE R9 R2
0x7C180600, // 0041 CALL R6 3
0x80040C00, // 0042 RET 1 R6
0x80000000, // 0043 RET 0
})
)
);

View File

@ -11,7 +11,7 @@ extern const bclass be_class_Matter_Plugin_Shutter;
********************************************************************/
be_local_closure(Matter_Plugin_Shutter_read_attribute, /* name */
be_nested_proto(
13, /* nstack */
12, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
@ -19,182 +19,180 @@ be_local_closure(Matter_Plugin_Shutter_read_attribute, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[19]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(attribute),
/* K5 */ be_nested_str_weak(update_shadow_lazy),
/* K6 */ be_nested_str_weak(update_inverted),
/* K7 */ be_const_int(0),
/* K8 */ be_nested_str_weak(create_TLV),
/* K9 */ be_nested_str_weak(U1),
/* K10 */ be_nested_str_weak(U2),
/* K11 */ be_const_int(1),
/* K12 */ be_nested_str_weak(shadow_shutter_inverted),
/* K13 */ be_nested_str_weak(shadow_shutter_pos),
/* K14 */ be_nested_str_weak(shadow_shutter_direction),
/* K15 */ be_const_int(2),
/* K16 */ be_nested_str_weak(shadow_shutter_target),
/* K17 */ be_nested_str_weak(U4),
/* K18 */ be_nested_str_weak(read_attribute),
( &(const bvalue[18]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_nested_str_weak(update_shadow_lazy),
/* K5 */ be_nested_str_weak(update_inverted),
/* K6 */ be_const_int(0),
/* K7 */ be_nested_str_weak(create_TLV),
/* K8 */ be_nested_str_weak(U1),
/* K9 */ be_nested_str_weak(U2),
/* K10 */ be_const_int(1),
/* K11 */ be_nested_str_weak(shadow_shutter_inverted),
/* K12 */ be_nested_str_weak(shadow_shutter_pos),
/* 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),
}),
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[152]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0xB8120200, // 0001 GETNGBL R4 K1
0x88100902, // 0002 GETMBR R4 R4 K2
( &(const binstruction[151]) { /* code */
0xB80E0000, // 0000 GETNGBL R3 K0
0x880C0701, // 0001 GETMBR R3 R3 K1
0x88100502, // 0002 GETMBR R4 R2 K2
0x88140503, // 0003 GETMBR R5 R2 K3
0x88180504, // 0004 GETMBR R6 R2 K4
0x4C1C0000, // 0005 LDNIL R7
0x54220101, // 0006 LDINT R8 258
0x1C200A08, // 0007 EQ R8 R5 R8
0x78220085, // 0008 JMPF R8 #008F
0x8C200105, // 0009 GETMET R8 R0 K5
0x7C200200, // 000A CALL R8 1
0x8C200106, // 000B GETMET R8 R0 K6
0x7C200200, // 000C CALL R8 1
0x1C200D07, // 000D EQ R8 R6 K7
0x78220005, // 000E JMPF R8 #0015
0x8C200908, // 000F GETMET R8 R4 K8
0x88280909, // 0010 GETMBR R10 R4 K9
0x542E00FE, // 0011 LDINT R11 255
0x7C200600, // 0012 CALL R8 3
0x80041000, // 0013 RET 1 R8
0x70020078, // 0014 JMP #008E
0x54220004, // 0015 LDINT R8 5
0x1C200C08, // 0016 EQ R8 R6 R8
0x78220005, // 0017 JMPF R8 #001E
0x8C200908, // 0018 GETMET R8 R4 K8
0x8828090A, // 0019 GETMBR R10 R4 K10
0x582C0007, // 001A LDCONST R11 K7
0x7C200600, // 001B CALL R8 3
0x80041000, // 001C RET 1 R8
0x7002006F, // 001D JMP #008E
0x54220006, // 001E LDINT R8 7
0x1C200C08, // 001F EQ R8 R6 R8
0x78220006, // 0020 JMPF R8 #0028
0x8C200908, // 0021 GETMET R8 R4 K8
0x88280909, // 0022 GETMBR R10 R4 K9
0x542E0007, // 0023 LDINT R11 8
0x002E160B, // 0024 ADD R11 K11 R11
0x7C200600, // 0025 CALL R8 3
0x80041000, // 0026 RET 1 R8
0x70020065, // 0027 JMP #008E
0x5422000C, // 0028 LDINT R8 13
0x1C200C08, // 0029 EQ R8 R6 R8
0x78220005, // 002A JMPF R8 #0031
0x8C200908, // 002B GETMET R8 R4 K8
0x88280909, // 002C GETMBR R10 R4 K9
0x542E00FE, // 002D LDINT R11 255
0x7C200600, // 002E CALL R8 3
0x80041000, // 002F RET 1 R8
0x7002005C, // 0030 JMP #008E
0x5422000D, // 0031 LDINT R8 14
0x1C200C08, // 0032 EQ R8 R6 R8
0x78220013, // 0033 JMPF R8 #0048
0x8820010C, // 0034 GETMBR R8 R0 K12
0x1C201107, // 0035 EQ R8 R8 K7
0x78220006, // 0036 JMPF R8 #003E
0x54220063, // 0037 LDINT R8 100
0x8824010D, // 0038 GETMBR R9 R0 K13
0x04201009, // 0039 SUB R8 R8 R9
0x54260063, // 003A LDINT R9 100
0x08201009, // 003B MUL R8 R8 R9
0x5C1C1000, // 003C MOVE R7 R8
0x70020003, // 003D JMP #0042
0x8820010D, // 003E GETMBR R8 R0 K13
0x54260063, // 003F LDINT R9 100
0x08201009, // 0040 MUL R8 R8 R9
0x5C1C1000, // 0041 MOVE R7 R8
0x8C200908, // 0042 GETMET R8 R4 K8
0x8828090A, // 0043 GETMBR R10 R4 K10
0x5C2C0E00, // 0044 MOVE R11 R7
0x7C200600, // 0045 CALL R8 3
0x80041000, // 0046 RET 1 R8
0x70020045, // 0047 JMP #008E
0x54220009, // 0048 LDINT R8 10
0x1C200C08, // 0049 EQ R8 R6 R8
0x78220010, // 004A JMPF R8 #005C
0x8820010E, // 004B GETMBR R8 R0 K14
0x1C201107, // 004C EQ R8 R8 K7
0x78220001, // 004D JMPF R8 #0050
0x58200007, // 004E LDCONST R8 K7
0x70020005, // 004F JMP #0056
0x8820010E, // 0050 GETMBR R8 R0 K14
0x24201107, // 0051 GT R8 R8 K7
0x78220001, // 0052 JMPF R8 #0055
0x5820000B, // 0053 LDCONST R8 K11
0x70020000, // 0054 JMP #0056
0x5820000F, // 0055 LDCONST R8 K15
0x8C240908, // 0056 GETMET R9 R4 K8
0x882C0909, // 0057 GETMBR R11 R4 K9
0x5C301000, // 0058 MOVE R12 R8
0x7C240600, // 0059 CALL R9 3
0x80041200, // 005A RET 1 R9
0x70020031, // 005B JMP #008E
0x5422000A, // 005C LDINT R8 11
0x1C200C08, // 005D EQ R8 R6 R8
0x78220013, // 005E JMPF R8 #0073
0x8820010C, // 005F GETMBR R8 R0 K12
0x1C201107, // 0060 EQ R8 R8 K7
0x78220006, // 0061 JMPF R8 #0069
0x54220063, // 0062 LDINT R8 100
0x88240110, // 0063 GETMBR R9 R0 K16
0x04201009, // 0064 SUB R8 R8 R9
0x54260063, // 0065 LDINT R9 100
0x08201009, // 0066 MUL R8 R8 R9
0x5C1C1000, // 0067 MOVE R7 R8
0x70020003, // 0068 JMP #006D
0x88200110, // 0069 GETMBR R8 R0 K16
0x54260063, // 006A LDINT R9 100
0x08201009, // 006B MUL R8 R8 R9
0x5C1C1000, // 006C MOVE R7 R8
0x8C200908, // 006D GETMET R8 R4 K8
0x8828090A, // 006E GETMBR R10 R4 K10
0x5C2C0E00, // 006F MOVE R11 R7
0x7C200600, // 0070 CALL R8 3
0x80041000, // 0071 RET 1 R8
0x7002001A, // 0072 JMP #008E
0x54220016, // 0073 LDINT R8 23
0x1C200C08, // 0074 EQ R8 R6 R8
0x78220005, // 0075 JMPF R8 #007C
0x8C200908, // 0076 GETMET R8 R4 K8
0x88280909, // 0077 GETMBR R10 R4 K9
0x582C0007, // 0078 LDCONST R11 K7
0x7C200600, // 0079 CALL R8 3
0x80041000, // 007A RET 1 R8
0x70020011, // 007B JMP #008E
0x5422FFFB, // 007C LDINT R8 65532
0x1C200C08, // 007D EQ R8 R6 R8
0x78220006, // 007E JMPF R8 #0086
0x8C200908, // 007F GETMET R8 R4 K8
0x88280911, // 0080 GETMBR R10 R4 K17
0x542E0003, // 0081 LDINT R11 4
0x002E160B, // 0082 ADD R11 K11 R11
0x7C200600, // 0083 CALL R8 3
0x80041000, // 0084 RET 1 R8
0x70020007, // 0085 JMP #008E
0x5422FFFC, // 0086 LDINT R8 65533
0x1C200C08, // 0087 EQ R8 R6 R8
0x78220004, // 0088 JMPF R8 #008E
0x8C200908, // 0089 GETMET R8 R4 K8
0x88280911, // 008A GETMBR R10 R4 K17
0x542E0004, // 008B LDINT R11 5
0x7C200600, // 008C CALL R8 3
0x80041000, // 008D RET 1 R8
0x70020007, // 008E JMP #0097
0x60200003, // 008F GETGBL R8 G3
0x5C240000, // 0090 MOVE R9 R0
0x7C200200, // 0091 CALL R8 1
0x8C201112, // 0092 GETMET R8 R8 K18
0x5C280200, // 0093 MOVE R10 R1
0x5C2C0400, // 0094 MOVE R11 R2
0x7C200600, // 0095 CALL R8 3
0x80041000, // 0096 RET 1 R8
0x80000000, // 0097 RET 0
0x4C180000, // 0004 LDNIL R6
0x541E0101, // 0005 LDINT R7 258
0x1C1C0807, // 0006 EQ R7 R4 R7
0x781E0085, // 0007 JMPF R7 #008E
0x8C1C0104, // 0008 GETMET R7 R0 K4
0x7C1C0200, // 0009 CALL R7 1
0x8C1C0105, // 000A GETMET R7 R0 K5
0x7C1C0200, // 000B CALL R7 1
0x1C1C0B06, // 000C EQ R7 R5 K6
0x781E0005, // 000D JMPF R7 #0014
0x8C1C0707, // 000E GETMET R7 R3 K7
0x88240708, // 000F GETMBR R9 R3 K8
0x542A00FE, // 0010 LDINT R10 255
0x7C1C0600, // 0011 CALL R7 3
0x80040E00, // 0012 RET 1 R7
0x70020078, // 0013 JMP #008D
0x541E0004, // 0014 LDINT R7 5
0x1C1C0A07, // 0015 EQ R7 R5 R7
0x781E0005, // 0016 JMPF R7 #001D
0x8C1C0707, // 0017 GETMET R7 R3 K7
0x88240709, // 0018 GETMBR R9 R3 K9
0x58280006, // 0019 LDCONST R10 K6
0x7C1C0600, // 001A CALL R7 3
0x80040E00, // 001B RET 1 R7
0x7002006F, // 001C JMP #008D
0x541E0006, // 001D LDINT R7 7
0x1C1C0A07, // 001E EQ R7 R5 R7
0x781E0006, // 001F JMPF R7 #0027
0x8C1C0707, // 0020 GETMET R7 R3 K7
0x88240708, // 0021 GETMBR R9 R3 K8
0x542A0007, // 0022 LDINT R10 8
0x002A140A, // 0023 ADD R10 K10 R10
0x7C1C0600, // 0024 CALL R7 3
0x80040E00, // 0025 RET 1 R7
0x70020065, // 0026 JMP #008D
0x541E000C, // 0027 LDINT R7 13
0x1C1C0A07, // 0028 EQ R7 R5 R7
0x781E0005, // 0029 JMPF R7 #0030
0x8C1C0707, // 002A GETMET R7 R3 K7
0x88240708, // 002B GETMBR R9 R3 K8
0x542A00FE, // 002C LDINT R10 255
0x7C1C0600, // 002D CALL R7 3
0x80040E00, // 002E RET 1 R7
0x7002005C, // 002F JMP #008D
0x541E000D, // 0030 LDINT R7 14
0x1C1C0A07, // 0031 EQ R7 R5 R7
0x781E0013, // 0032 JMPF R7 #0047
0x881C010B, // 0033 GETMBR R7 R0 K11
0x1C1C0F06, // 0034 EQ R7 R7 K6
0x781E0006, // 0035 JMPF R7 #003D
0x541E0063, // 0036 LDINT R7 100
0x8820010C, // 0037 GETMBR R8 R0 K12
0x041C0E08, // 0038 SUB R7 R7 R8
0x54220063, // 0039 LDINT R8 100
0x081C0E08, // 003A MUL R7 R7 R8
0x5C180E00, // 003B MOVE R6 R7
0x70020003, // 003C JMP #0041
0x881C010C, // 003D GETMBR R7 R0 K12
0x54220063, // 003E LDINT R8 100
0x081C0E08, // 003F MUL R7 R7 R8
0x5C180E00, // 0040 MOVE R6 R7
0x8C1C0707, // 0041 GETMET R7 R3 K7
0x88240709, // 0042 GETMBR R9 R3 K9
0x5C280C00, // 0043 MOVE R10 R6
0x7C1C0600, // 0044 CALL R7 3
0x80040E00, // 0045 RET 1 R7
0x70020045, // 0046 JMP #008D
0x541E0009, // 0047 LDINT R7 10
0x1C1C0A07, // 0048 EQ R7 R5 R7
0x781E0010, // 0049 JMPF R7 #005B
0x881C010D, // 004A GETMBR R7 R0 K13
0x1C1C0F06, // 004B EQ R7 R7 K6
0x781E0001, // 004C JMPF R7 #004F
0x581C0006, // 004D LDCONST R7 K6
0x70020005, // 004E JMP #0055
0x881C010D, // 004F GETMBR R7 R0 K13
0x241C0F06, // 0050 GT R7 R7 K6
0x781E0001, // 0051 JMPF R7 #0054
0x581C000A, // 0052 LDCONST R7 K10
0x70020000, // 0053 JMP #0055
0x581C000E, // 0054 LDCONST R7 K14
0x8C200707, // 0055 GETMET R8 R3 K7
0x88280708, // 0056 GETMBR R10 R3 K8
0x5C2C0E00, // 0057 MOVE R11 R7
0x7C200600, // 0058 CALL R8 3
0x80041000, // 0059 RET 1 R8
0x70020031, // 005A JMP #008D
0x541E000A, // 005B LDINT R7 11
0x1C1C0A07, // 005C EQ R7 R5 R7
0x781E0013, // 005D JMPF R7 #0072
0x881C010B, // 005E GETMBR R7 R0 K11
0x1C1C0F06, // 005F EQ R7 R7 K6
0x781E0006, // 0060 JMPF R7 #0068
0x541E0063, // 0061 LDINT R7 100
0x8820010F, // 0062 GETMBR R8 R0 K15
0x041C0E08, // 0063 SUB R7 R7 R8
0x54220063, // 0064 LDINT R8 100
0x081C0E08, // 0065 MUL R7 R7 R8
0x5C180E00, // 0066 MOVE R6 R7
0x70020003, // 0067 JMP #006C
0x881C010F, // 0068 GETMBR R7 R0 K15
0x54220063, // 0069 LDINT R8 100
0x081C0E08, // 006A MUL R7 R7 R8
0x5C180E00, // 006B MOVE R6 R7
0x8C1C0707, // 006C GETMET R7 R3 K7
0x88240709, // 006D GETMBR R9 R3 K9
0x5C280C00, // 006E MOVE R10 R6
0x7C1C0600, // 006F CALL R7 3
0x80040E00, // 0070 RET 1 R7
0x7002001A, // 0071 JMP #008D
0x541E0016, // 0072 LDINT R7 23
0x1C1C0A07, // 0073 EQ R7 R5 R7
0x781E0005, // 0074 JMPF R7 #007B
0x8C1C0707, // 0075 GETMET R7 R3 K7
0x88240708, // 0076 GETMBR R9 R3 K8
0x58280006, // 0077 LDCONST R10 K6
0x7C1C0600, // 0078 CALL R7 3
0x80040E00, // 0079 RET 1 R7
0x70020011, // 007A JMP #008D
0x541EFFFB, // 007B LDINT R7 65532
0x1C1C0A07, // 007C EQ R7 R5 R7
0x781E0006, // 007D JMPF R7 #0085
0x8C1C0707, // 007E GETMET R7 R3 K7
0x88240710, // 007F GETMBR R9 R3 K16
0x542A0003, // 0080 LDINT R10 4
0x002A140A, // 0081 ADD R10 K10 R10
0x7C1C0600, // 0082 CALL R7 3
0x80040E00, // 0083 RET 1 R7
0x70020007, // 0084 JMP #008D
0x541EFFFC, // 0085 LDINT R7 65533
0x1C1C0A07, // 0086 EQ R7 R5 R7
0x781E0004, // 0087 JMPF R7 #008D
0x8C1C0707, // 0088 GETMET R7 R3 K7
0x88240710, // 0089 GETMBR R9 R3 K16
0x542A0004, // 008A LDINT R10 5
0x7C1C0600, // 008B CALL R7 3
0x80040E00, // 008C RET 1 R7
0x70020007, // 008D JMP #0096
0x601C0003, // 008E GETGBL R7 G3
0x5C200000, // 008F MOVE R8 R0
0x7C1C0200, // 0090 CALL R7 1
0x8C1C0F11, // 0091 GETMET R7 R7 K17
0x5C240200, // 0092 MOVE R9 R1
0x5C280400, // 0093 MOVE R10 R2
0x7C1C0600, // 0094 CALL R7 3
0x80040E00, // 0095 RET 1 R7
0x80000000, // 0096 RET 0
})
)
);
@ -206,7 +204,7 @@ be_local_closure(Matter_Plugin_Shutter_read_attribute, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_Shutter_parse_sensors, /* name */
be_nested_proto(
12, /* nstack */
11, /* nstack */
2, /* argc */
2, /* varg */
0, /* has upvals */
@ -214,78 +212,76 @@ be_local_closure(Matter_Plugin_Shutter_parse_sensors, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[13]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(Shutter),
/* K2 */ be_nested_str_weak(tasmota_shutter_index),
/* K3 */ be_const_int(1),
/* K4 */ be_nested_str_weak(contains),
/* K5 */ be_nested_str_weak(find),
/* K6 */ be_nested_str_weak(Position),
/* K7 */ be_nested_str_weak(shadow_shutter_pos),
/* K8 */ be_nested_str_weak(attribute_updated),
/* K9 */ be_nested_str_weak(Direction),
/* K10 */ be_nested_str_weak(shadow_shutter_direction),
/* K11 */ be_nested_str_weak(Target),
/* K12 */ be_nested_str_weak(shadow_shutter_target),
( &(const bvalue[12]) { /* constants */
/* K0 */ be_nested_str_weak(Shutter),
/* K1 */ be_nested_str_weak(tasmota_shutter_index),
/* K2 */ be_const_int(1),
/* K3 */ be_nested_str_weak(contains),
/* K4 */ be_nested_str_weak(find),
/* K5 */ be_nested_str_weak(Position),
/* K6 */ be_nested_str_weak(shadow_shutter_pos),
/* K7 */ be_nested_str_weak(attribute_updated),
/* K8 */ be_nested_str_weak(Direction),
/* K9 */ be_nested_str_weak(shadow_shutter_direction),
/* K10 */ be_nested_str_weak(Target),
/* K11 */ be_nested_str_weak(shadow_shutter_target),
}),
be_str_weak(parse_sensors),
&be_const_str_solidified,
( &(const binstruction[54]) { /* code */
0xA40A0000, // 0000 IMPORT R2 K0
0x600C0008, // 0001 GETGBL R3 G8
0x88100102, // 0002 GETMBR R4 R0 K2
0x00100903, // 0003 ADD R4 R4 K3
0x7C0C0200, // 0004 CALL R3 1
0x000E0203, // 0005 ADD R3 K1 R3
0x8C100304, // 0006 GETMET R4 R1 K4
0x5C180600, // 0007 MOVE R6 R3
0x7C100400, // 0008 CALL R4 2
0x7812002A, // 0009 JMPF R4 #0035
0x94100203, // 000A GETIDX R4 R1 R3
0x8C140905, // 000B GETMET R5 R4 K5
0x581C0006, // 000C LDCONST R7 K6
0x7C140400, // 000D CALL R5 2
0x4C180000, // 000E LDNIL R6
0x20180A06, // 000F NE R6 R5 R6
0x781A0007, // 0010 JMPF R6 #0019
0x88180107, // 0011 GETMBR R6 R0 K7
0x20180A06, // 0012 NE R6 R5 R6
0x781A0003, // 0013 JMPF R6 #0018
0x8C180108, // 0014 GETMET R6 R0 K8
0x54220101, // 0015 LDINT R8 258
0x5426000D, // 0016 LDINT R9 14
0x7C180600, // 0017 CALL R6 3
0x90020E05, // 0018 SETMBR R0 K7 R5
0x8C180905, // 0019 GETMET R6 R4 K5
0x58200009, // 001A LDCONST R8 K9
0x7C180400, // 001B CALL R6 2
0x4C1C0000, // 001C LDNIL R7
0x201C0C07, // 001D NE R7 R6 R7
0x781E0007, // 001E JMPF R7 #0027
0x881C010A, // 001F GETMBR R7 R0 K10
0x201C0C07, // 0020 NE R7 R6 R7
0x781E0003, // 0021 JMPF R7 #0026
0x8C1C0108, // 0022 GETMET R7 R0 K8
0x54260101, // 0023 LDINT R9 258
0x542A0009, // 0024 LDINT R10 10
0x7C1C0600, // 0025 CALL R7 3
0x90021406, // 0026 SETMBR R0 K10 R6
0x8C1C0905, // 0027 GETMET R7 R4 K5
0x5824000B, // 0028 LDCONST R9 K11
0x7C1C0400, // 0029 CALL R7 2
0x4C200000, // 002A LDNIL R8
0x20200E08, // 002B NE R8 R7 R8
0x78220007, // 002C JMPF R8 #0035
0x8820010C, // 002D GETMBR R8 R0 K12
0x20200E08, // 002E NE R8 R7 R8
0x78220003, // 002F JMPF R8 #0034
0x8C200108, // 0030 GETMET R8 R0 K8
0x542A0101, // 0031 LDINT R10 258
0x542E000A, // 0032 LDINT R11 11
0x7C200600, // 0033 CALL R8 3
0x90021807, // 0034 SETMBR R0 K12 R7
0x80000000, // 0035 RET 0
( &(const binstruction[53]) { /* code */
0x60080008, // 0000 GETGBL R2 G8
0x880C0101, // 0001 GETMBR R3 R0 K1
0x000C0702, // 0002 ADD R3 R3 K2
0x7C080200, // 0003 CALL R2 1
0x000A0002, // 0004 ADD R2 K0 R2
0x8C0C0303, // 0005 GETMET R3 R1 K3
0x5C140400, // 0006 MOVE R5 R2
0x7C0C0400, // 0007 CALL R3 2
0x780E002A, // 0008 JMPF R3 #0034
0x940C0202, // 0009 GETIDX R3 R1 R2
0x8C100704, // 000A GETMET R4 R3 K4
0x58180005, // 000B LDCONST R6 K5
0x7C100400, // 000C CALL R4 2
0x4C140000, // 000D LDNIL R5
0x20140805, // 000E NE R5 R4 R5
0x78160007, // 000F JMPF R5 #0018
0x88140106, // 0010 GETMBR R5 R0 K6
0x20140805, // 0011 NE R5 R4 R5
0x78160003, // 0012 JMPF R5 #0017
0x8C140107, // 0013 GETMET R5 R0 K7
0x541E0101, // 0014 LDINT R7 258
0x5422000D, // 0015 LDINT R8 14
0x7C140600, // 0016 CALL R5 3
0x90020C04, // 0017 SETMBR R0 K6 R4
0x8C140704, // 0018 GETMET R5 R3 K4
0x581C0008, // 0019 LDCONST R7 K8
0x7C140400, // 001A CALL R5 2
0x4C180000, // 001B LDNIL R6
0x20180A06, // 001C NE R6 R5 R6
0x781A0007, // 001D JMPF R6 #0026
0x88180109, // 001E GETMBR R6 R0 K9
0x20180A06, // 001F NE R6 R5 R6
0x781A0003, // 0020 JMPF R6 #0025
0x8C180107, // 0021 GETMET R6 R0 K7
0x54220101, // 0022 LDINT R8 258
0x54260009, // 0023 LDINT R9 10
0x7C180600, // 0024 CALL R6 3
0x90021205, // 0025 SETMBR R0 K9 R5
0x8C180704, // 0026 GETMET R6 R3 K4
0x5820000A, // 0027 LDCONST R8 K10
0x7C180400, // 0028 CALL R6 2
0x4C1C0000, // 0029 LDNIL R7
0x201C0C07, // 002A NE R7 R6 R7
0x781E0007, // 002B JMPF R7 #0034
0x881C010B, // 002C GETMBR R7 R0 K11
0x201C0C07, // 002D NE R7 R6 R7
0x781E0003, // 002E JMPF R7 #0033
0x8C1C0107, // 002F GETMET R7 R0 K7
0x54260101, // 0030 LDINT R9 258
0x542A000A, // 0031 LDINT R10 11
0x7C1C0600, // 0032 CALL R7 3
0x90021606, // 0033 SETMBR R0 K11 R6
0x80000000, // 0034 RET 0
})
)
);

View File

@ -207,7 +207,7 @@ be_local_closure(Matter_Plugin_ShutterTilt_invoke_request, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_ShutterTilt_read_attribute, /* name */
be_nested_proto(
14, /* nstack */
13, /* nstack */
3, /* argc */
2, /* varg */
0, /* has upvals */
@ -215,145 +215,143 @@ be_local_closure(Matter_Plugin_ShutterTilt_read_attribute, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[21]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(TLV),
/* K3 */ be_nested_str_weak(cluster),
/* K4 */ be_nested_str_weak(attribute),
/* K5 */ be_nested_str_weak(update_shadow_lazy),
/* K6 */ be_nested_str_weak(create_TLV),
/* K7 */ be_nested_str_weak(U1),
/* K8 */ be_const_int(1),
/* K9 */ be_nested_str_weak(update_tilt_min_max),
/* K10 */ be_nested_str_weak(tilt_min),
/* K11 */ be_nested_str_weak(tilt_max),
/* K12 */ be_nested_str_weak(tasmota),
/* K13 */ be_nested_str_weak(scale_uint),
/* K14 */ be_nested_str_weak(shadow_shutter_tilt),
/* K15 */ be_const_int(0),
/* K16 */ be_nested_str_weak(U2),
/* K17 */ be_nested_str_weak(NULL),
/* K18 */ be_nested_str_weak(U4),
/* K19 */ be_const_int(3),
/* K20 */ be_nested_str_weak(read_attribute),
( &(const bvalue[20]) { /* constants */
/* K0 */ be_nested_str_weak(matter),
/* K1 */ be_nested_str_weak(TLV),
/* K2 */ be_nested_str_weak(cluster),
/* K3 */ be_nested_str_weak(attribute),
/* K4 */ be_nested_str_weak(update_shadow_lazy),
/* K5 */ be_nested_str_weak(create_TLV),
/* K6 */ be_nested_str_weak(U1),
/* K7 */ be_const_int(1),
/* K8 */ be_nested_str_weak(update_tilt_min_max),
/* K9 */ be_nested_str_weak(tilt_min),
/* K10 */ be_nested_str_weak(tilt_max),
/* K11 */ be_nested_str_weak(tasmota),
/* K12 */ be_nested_str_weak(scale_uint),
/* K13 */ be_nested_str_weak(shadow_shutter_tilt),
/* K14 */ be_const_int(0),
/* K15 */ be_nested_str_weak(U2),
/* K16 */ be_nested_str_weak(NULL),
/* K17 */ be_nested_str_weak(U4),
/* K18 */ be_const_int(3),
/* K19 */ be_nested_str_weak(read_attribute),
}),
be_str_weak(read_attribute),
&be_const_str_solidified,
( &(const binstruction[113]) { /* code */
0xA40E0000, // 0000 IMPORT R3 K0
0xB8120200, // 0001 GETNGBL R4 K1
0x88100902, // 0002 GETMBR R4 R4 K2
( &(const binstruction[112]) { /* code */
0xB80E0000, // 0000 GETNGBL R3 K0
0x880C0701, // 0001 GETMBR R3 R3 K1
0x88100502, // 0002 GETMBR R4 R2 K2
0x88140503, // 0003 GETMBR R5 R2 K3
0x88180504, // 0004 GETMBR R6 R2 K4
0x541E0101, // 0005 LDINT R7 258
0x1C1C0A07, // 0006 EQ R7 R5 R7
0x781E0060, // 0007 JMPF R7 #0069
0x8C1C0105, // 0008 GETMET R7 R0 K5
0x7C1C0200, // 0009 CALL R7 1
0x541E0006, // 000A LDINT R7 7
0x1C1C0C07, // 000B EQ R7 R6 R7
0x781E0008, // 000C JMPF R7 #0016
0x8C1C0906, // 000D GETMET R7 R4 K6
0x88240907, // 000E GETMBR R9 R4 K7
0x542A0007, // 000F LDINT R10 8
0x002A100A, // 0010 ADD R10 K8 R10
0x542E000F, // 0011 LDINT R11 16
0x0028140B, // 0012 ADD R10 R10 R11
0x7C1C0600, // 0013 CALL R7 3
0x80040E00, // 0014 RET 1 R7
0x70020052, // 0015 JMP #0069
0x541E000E, // 0016 LDINT R7 15
0x1C1C0C07, // 0017 EQ R7 R6 R7
0x781E0021, // 0018 JMPF R7 #003B
0x8C1C0109, // 0019 GETMET R7 R0 K9
0x7C1C0200, // 001A CALL R7 1
0x881C010A, // 001B GETMBR R7 R0 K10
0x4C200000, // 001C LDNIL R8
0x201C0E08, // 001D NE R7 R7 R8
0x781E0015, // 001E JMPF R7 #0035
0x881C010B, // 001F GETMBR R7 R0 K11
0x4C200000, // 0020 LDNIL R8
0x201C0E08, // 0021 NE R7 R7 R8
0x781E0011, // 0022 JMPF R7 #0035
0xB81E1800, // 0023 GETNGBL R7 K12
0x8C1C0F0D, // 0024 GETMET R7 R7 K13
0x8824010E, // 0025 GETMBR R9 R0 K14
0x8828010A, // 0026 GETMBR R10 R0 K10
0x0424120A, // 0027 SUB R9 R9 R10
0x5828000F, // 0028 LDCONST R10 K15
0x882C010B, // 0029 GETMBR R11 R0 K11
0x8830010A, // 002A GETMBR R12 R0 K10
0x042C160C, // 002B SUB R11 R11 R12
0x5830000F, // 002C LDCONST R12 K15
0x5436270F, // 002D LDINT R13 10000
0x7C1C0C00, // 002E CALL R7 6
0x8C200906, // 002F GETMET R8 R4 K6
0x88280910, // 0030 GETMBR R10 R4 K16
0x5C2C0E00, // 0031 MOVE R11 R7
0x7C200600, // 0032 CALL R8 3
0x80041000, // 0033 RET 1 R8
0x70020004, // 0034 JMP #003A
0x8C1C0906, // 0035 GETMET R7 R4 K6
0x88240911, // 0036 GETMBR R9 R4 K17
0x4C280000, // 0037 LDNIL R10
0x7C1C0600, // 0038 CALL R7 3
0x80040E00, // 0039 RET 1 R7
0x7002002D, // 003A JMP #0069
0x541E000B, // 003B LDINT R7 12
0x1C1C0C07, // 003C EQ R7 R6 R7
0x781E001F, // 003D JMPF R7 #005E
0x881C010A, // 003E GETMBR R7 R0 K10
0x4C200000, // 003F LDNIL R8
0x201C0E08, // 0040 NE R7 R7 R8
0x781E0015, // 0041 JMPF R7 #0058
0x881C010B, // 0042 GETMBR R7 R0 K11
0x4C200000, // 0043 LDNIL R8
0x201C0E08, // 0044 NE R7 R7 R8
0x781E0011, // 0045 JMPF R7 #0058
0xB81E1800, // 0046 GETNGBL R7 K12
0x8C1C0F0D, // 0047 GETMET R7 R7 K13
0x8824010E, // 0048 GETMBR R9 R0 K14
0x8828010A, // 0049 GETMBR R10 R0 K10
0x0424120A, // 004A SUB R9 R9 R10
0x5828000F, // 004B LDCONST R10 K15
0x882C010B, // 004C GETMBR R11 R0 K11
0x8830010A, // 004D GETMBR R12 R0 K10
0x042C160C, // 004E SUB R11 R11 R12
0x5830000F, // 004F LDCONST R12 K15
0x5436270F, // 0050 LDINT R13 10000
0x7C1C0C00, // 0051 CALL R7 6
0x8C200906, // 0052 GETMET R8 R4 K6
0x88280910, // 0053 GETMBR R10 R4 K16
0x5C2C0E00, // 0054 MOVE R11 R7
0x7C200600, // 0055 CALL R8 3
0x80041000, // 0056 RET 1 R8
0x70020004, // 0057 JMP #005D
0x8C1C0906, // 0058 GETMET R7 R4 K6
0x88240911, // 0059 GETMBR R9 R4 K17
0x4C280000, // 005A LDNIL R10
0x7C1C0600, // 005B CALL R7 3
0x80040E00, // 005C RET 1 R7
0x7002000A, // 005D JMP #0069
0x541EFFFB, // 005E LDINT R7 65532
0x1C1C0C07, // 005F EQ R7 R6 R7
0x781E0007, // 0060 JMPF R7 #0069
0x8C1C0906, // 0061 GETMET R7 R4 K6
0x88240912, // 0062 GETMBR R9 R4 K18
0x542A0003, // 0063 LDINT R10 4
0x002A260A, // 0064 ADD R10 K19 R10
0x542E000F, // 0065 LDINT R11 16
0x0028140B, // 0066 ADD R10 R10 R11
0x7C1C0600, // 0067 CALL R7 3
0x80040E00, // 0068 RET 1 R7
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
0x7C1C0600, // 006F CALL R7 3
0x80040E00, // 0070 RET 1 R7
0x541A0101, // 0004 LDINT R6 258
0x1C180806, // 0005 EQ R6 R4 R6
0x781A0060, // 0006 JMPF R6 #0068
0x8C180104, // 0007 GETMET R6 R0 K4
0x7C180200, // 0008 CALL R6 1
0x541A0006, // 0009 LDINT R6 7
0x1C180A06, // 000A EQ R6 R5 R6
0x781A0008, // 000B JMPF R6 #0015
0x8C180705, // 000C GETMET R6 R3 K5
0x88200706, // 000D GETMBR R8 R3 K6
0x54260007, // 000E LDINT R9 8
0x00260E09, // 000F ADD R9 K7 R9
0x542A000F, // 0010 LDINT R10 16
0x0024120A, // 0011 ADD R9 R9 R10
0x7C180600, // 0012 CALL R6 3
0x80040C00, // 0013 RET 1 R6
0x70020052, // 0014 JMP #0068
0x541A000E, // 0015 LDINT R6 15
0x1C180A06, // 0016 EQ R6 R5 R6
0x781A0021, // 0017 JMPF R6 #003A
0x8C180108, // 0018 GETMET R6 R0 K8
0x7C180200, // 0019 CALL R6 1
0x88180109, // 001A GETMBR R6 R0 K9
0x4C1C0000, // 001B LDNIL R7
0x20180C07, // 001C NE R6 R6 R7
0x781A0015, // 001D JMPF R6 #0034
0x8818010A, // 001E GETMBR R6 R0 K10
0x4C1C0000, // 001F LDNIL R7
0x20180C07, // 0020 NE R6 R6 R7
0x781A0011, // 0021 JMPF R6 #0034
0xB81A1600, // 0022 GETNGBL R6 K11
0x8C180D0C, // 0023 GETMET R6 R6 K12
0x8820010D, // 0024 GETMBR R8 R0 K13
0x88240109, // 0025 GETMBR R9 R0 K9
0x04201009, // 0026 SUB R8 R8 R9
0x5824000E, // 0027 LDCONST R9 K14
0x8828010A, // 0028 GETMBR R10 R0 K10
0x882C0109, // 0029 GETMBR R11 R0 K9
0x0428140B, // 002A SUB R10 R10 R11
0x582C000E, // 002B LDCONST R11 K14
0x5432270F, // 002C LDINT R12 10000
0x7C180C00, // 002D CALL R6 6
0x8C1C0705, // 002E GETMET R7 R3 K5
0x8824070F, // 002F GETMBR R9 R3 K15
0x5C280C00, // 0030 MOVE R10 R6
0x7C1C0600, // 0031 CALL R7 3
0x80040E00, // 0032 RET 1 R7
0x70020004, // 0033 JMP #0039
0x8C180705, // 0034 GETMET R6 R3 K5
0x88200710, // 0035 GETMBR R8 R3 K16
0x4C240000, // 0036 LDNIL R9
0x7C180600, // 0037 CALL R6 3
0x80040C00, // 0038 RET 1 R6
0x7002002D, // 0039 JMP #0068
0x541A000B, // 003A LDINT R6 12
0x1C180A06, // 003B EQ R6 R5 R6
0x781A001F, // 003C JMPF R6 #005D
0x88180109, // 003D GETMBR R6 R0 K9
0x4C1C0000, // 003E LDNIL R7
0x20180C07, // 003F NE R6 R6 R7
0x781A0015, // 0040 JMPF R6 #0057
0x8818010A, // 0041 GETMBR R6 R0 K10
0x4C1C0000, // 0042 LDNIL R7
0x20180C07, // 0043 NE R6 R6 R7
0x781A0011, // 0044 JMPF R6 #0057
0xB81A1600, // 0045 GETNGBL R6 K11
0x8C180D0C, // 0046 GETMET R6 R6 K12
0x8820010D, // 0047 GETMBR R8 R0 K13
0x88240109, // 0048 GETMBR R9 R0 K9
0x04201009, // 0049 SUB R8 R8 R9
0x5824000E, // 004A LDCONST R9 K14
0x8828010A, // 004B GETMBR R10 R0 K10
0x882C0109, // 004C GETMBR R11 R0 K9
0x0428140B, // 004D SUB R10 R10 R11
0x582C000E, // 004E LDCONST R11 K14
0x5432270F, // 004F LDINT R12 10000
0x7C180C00, // 0050 CALL R6 6
0x8C1C0705, // 0051 GETMET R7 R3 K5
0x8824070F, // 0052 GETMBR R9 R3 K15
0x5C280C00, // 0053 MOVE R10 R6
0x7C1C0600, // 0054 CALL R7 3
0x80040E00, // 0055 RET 1 R7
0x70020004, // 0056 JMP #005C
0x8C180705, // 0057 GETMET R6 R3 K5
0x88200710, // 0058 GETMBR R8 R3 K16
0x4C240000, // 0059 LDNIL R9
0x7C180600, // 005A CALL R6 3
0x80040C00, // 005B RET 1 R6
0x7002000A, // 005C JMP #0068
0x541AFFFB, // 005D LDINT R6 65532
0x1C180A06, // 005E EQ R6 R5 R6
0x781A0007, // 005F JMPF R6 #0068
0x8C180705, // 0060 GETMET R6 R3 K5
0x88200711, // 0061 GETMBR R8 R3 K17
0x54260003, // 0062 LDINT R9 4
0x00262409, // 0063 ADD R9 K18 R9
0x542A000F, // 0064 LDINT R10 16
0x0024120A, // 0065 ADD R9 R9 R10
0x7C180600, // 0066 CALL R6 3
0x80040C00, // 0067 RET 1 R6
0x60180003, // 0068 GETGBL R6 G3
0x5C1C0000, // 0069 MOVE R7 R0
0x7C180200, // 006A CALL R6 1
0x8C180D13, // 006B GETMET R6 R6 K19
0x5C200200, // 006C MOVE R8 R1
0x5C240400, // 006D MOVE R9 R2
0x7C180600, // 006E CALL R6 3
0x80040C00, // 006F RET 1 R6
})
)
);
@ -365,7 +363,7 @@ be_local_closure(Matter_Plugin_ShutterTilt_read_attribute, /* name */
********************************************************************/
be_local_closure(Matter_Plugin_ShutterTilt_parse_sensors, /* name */
be_nested_proto(
10, /* nstack */
9, /* nstack */
2, /* argc */
2, /* varg */
0, /* has upvals */
@ -373,53 +371,51 @@ be_local_closure(Matter_Plugin_ShutterTilt_parse_sensors, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[10]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(Shutter),
/* K2 */ be_nested_str_weak(tasmota_shutter_index),
/* K3 */ be_const_int(1),
/* K4 */ be_nested_str_weak(contains),
/* K5 */ be_nested_str_weak(find),
/* K6 */ be_nested_str_weak(Tilt),
/* K7 */ be_nested_str_weak(shadow_shutter_tilt),
/* K8 */ be_nested_str_weak(attribute_updated),
/* K9 */ be_nested_str_weak(parse_sensors),
( &(const bvalue[ 9]) { /* constants */
/* K0 */ be_nested_str_weak(Shutter),
/* K1 */ be_nested_str_weak(tasmota_shutter_index),
/* K2 */ be_const_int(1),
/* K3 */ be_nested_str_weak(contains),
/* K4 */ be_nested_str_weak(find),
/* K5 */ be_nested_str_weak(Tilt),
/* K6 */ be_nested_str_weak(shadow_shutter_tilt),
/* K7 */ be_nested_str_weak(attribute_updated),
/* K8 */ be_nested_str_weak(parse_sensors),
}),
be_str_weak(parse_sensors),
&be_const_str_solidified,
( &(const binstruction[32]) { /* code */
0xA40A0000, // 0000 IMPORT R2 K0
0x600C0008, // 0001 GETGBL R3 G8
0x88100102, // 0002 GETMBR R4 R0 K2
0x00100903, // 0003 ADD R4 R4 K3
0x7C0C0200, // 0004 CALL R3 1
0x000E0203, // 0005 ADD R3 K1 R3
0x8C100304, // 0006 GETMET R4 R1 K4
0x5C180600, // 0007 MOVE R6 R3
0x7C100400, // 0008 CALL R4 2
0x7812000E, // 0009 JMPF R4 #0019
0x94100203, // 000A GETIDX R4 R1 R3
0x8C140905, // 000B GETMET R5 R4 K5
0x581C0006, // 000C LDCONST R7 K6
0x7C140400, // 000D CALL R5 2
0x4C180000, // 000E LDNIL R6
0x20180A06, // 000F NE R6 R5 R6
0x781A0007, // 0010 JMPF R6 #0019
0x88180107, // 0011 GETMBR R6 R0 K7
0x20180A06, // 0012 NE R6 R5 R6
0x781A0003, // 0013 JMPF R6 #0018
0x8C180108, // 0014 GETMET R6 R0 K8
0x54220101, // 0015 LDINT R8 258
0x5426000E, // 0016 LDINT R9 15
0x7C180600, // 0017 CALL R6 3
0x90020E05, // 0018 SETMBR R0 K7 R5
0x60100003, // 0019 GETGBL R4 G3
0x5C140000, // 001A MOVE R5 R0
0x7C100200, // 001B CALL R4 1
0x8C100909, // 001C GETMET R4 R4 K9
0x5C180200, // 001D MOVE R6 R1
0x7C100400, // 001E CALL R4 2
0x80000000, // 001F RET 0
( &(const binstruction[31]) { /* code */
0x60080008, // 0000 GETGBL R2 G8
0x880C0101, // 0001 GETMBR R3 R0 K1
0x000C0702, // 0002 ADD R3 R3 K2
0x7C080200, // 0003 CALL R2 1
0x000A0002, // 0004 ADD R2 K0 R2
0x8C0C0303, // 0005 GETMET R3 R1 K3
0x5C140400, // 0006 MOVE R5 R2
0x7C0C0400, // 0007 CALL R3 2
0x780E000E, // 0008 JMPF R3 #0018
0x940C0202, // 0009 GETIDX R3 R1 R2
0x8C100704, // 000A GETMET R4 R3 K4
0x58180005, // 000B LDCONST R6 K5
0x7C100400, // 000C CALL R4 2
0x4C140000, // 000D LDNIL R5
0x20140805, // 000E NE R5 R4 R5
0x78160007, // 000F JMPF R5 #0018
0x88140106, // 0010 GETMBR R5 R0 K6
0x20140805, // 0011 NE R5 R4 R5
0x78160003, // 0012 JMPF R5 #0017
0x8C140107, // 0013 GETMET R5 R0 K7
0x541E0101, // 0014 LDINT R7 258
0x5422000E, // 0015 LDINT R8 15
0x7C140600, // 0016 CALL R5 3
0x90020C04, // 0017 SETMBR R0 K6 R4
0x600C0003, // 0018 GETGBL R3 G3
0x5C100000, // 0019 MOVE R4 R0
0x7C0C0200, // 001A CALL R3 1
0x8C0C0708, // 001B GETMET R3 R3 K8
0x5C140200, // 001C MOVE R5 R1
0x7C0C0400, // 001D CALL R3 2
0x80000000, // 001E RET 0
})
)
);

View File

@ -11,7 +11,7 @@ extern const bclass be_class_Matter_Session;
********************************************************************/
be_local_closure(Matter_Session_before_remove, /* name */
be_nested_proto(
8, /* nstack */
6, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -19,28 +19,25 @@ be_local_closure(Matter_Session_before_remove, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[ 7]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(tasmota),
/* K2 */ be_nested_str_weak(log),
/* K3 */ be_nested_str_weak(format),
/* K4 */ be_nested_str_weak(MTR_X3A_X20_X2DSession_X20_X20_X20_X28_X256i_X29_X20_X28removed_X29),
/* K5 */ be_nested_str_weak(local_session_id),
/* K6 */ be_const_int(3),
( &(const bvalue[ 5]) { /* constants */
/* K0 */ be_nested_str_weak(tasmota),
/* K1 */ be_nested_str_weak(log),
/* K2 */ be_nested_str_weak(MTR_X3A_X20_X2DSession_X20_X20_X20_X28_X256i_X29_X20_X28removed_X29),
/* K3 */ be_nested_str_weak(local_session_id),
/* K4 */ be_const_int(3),
}),
be_str_weak(before_remove),
&be_const_str_solidified,
( &(const binstruction[10]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xB80A0200, // 0001 GETNGBL R2 K1
0x8C080502, // 0002 GETMET R2 R2 K2
0x8C100303, // 0003 GETMET R4 R1 K3
0x58180004, // 0004 LDCONST R6 K4
0x881C0105, // 0005 GETMBR R7 R0 K5
0x7C100600, // 0006 CALL R4 3
0x58140006, // 0007 LDCONST R5 K6
0x7C080600, // 0008 CALL R2 3
0x80000000, // 0009 RET 0
( &(const binstruction[ 9]) { /* code */
0xB8060000, // 0000 GETNGBL R1 K0
0x8C040301, // 0001 GETMET R1 R1 K1
0x600C0018, // 0002 GETGBL R3 G24
0x58100002, // 0003 LDCONST R4 K2
0x88140103, // 0004 GETMBR R5 R0 K3
0x7C0C0400, // 0005 CALL R3 2
0x58100004, // 0006 LDCONST R4 K4
0x7C040600, // 0007 CALL R1 3
0x80000000, // 0008 RET 0
})
)
);
@ -406,7 +403,7 @@ be_local_closure(Matter_Session_get_r2i, /* name */
********************************************************************/
be_local_closure(Matter_Session_tojson, /* name */
be_nested_proto(
18, /* nstack */
16, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -414,131 +411,128 @@ be_local_closure(Matter_Session_tojson, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[24]) { /* constants */
( &(const bvalue[22]) { /* constants */
/* K0 */ be_nested_str_weak(json),
/* K1 */ be_nested_str_weak(string),
/* K2 */ be_nested_str_weak(introspect),
/* K3 */ be_nested_str_weak(persist_pre),
/* K4 */ be_nested_str_weak(members),
/* K5 */ be_nested_str_weak(get),
/* K6 */ be_nested_str_weak(function),
/* K7 */ be_const_int(0),
/* K8 */ be_nested_str_weak(_),
/* K9 */ be_nested_str_weak(push),
/* K10 */ be_nested_str_weak(stop_iteration),
/* K11 */ be_nested_str_weak(matter),
/* K12 */ be_nested_str_weak(sort),
/* K13 */ be_nested_str_weak(_X24_X24),
/* K14 */ be_nested_str_weak(tob64),
/* K15 */ be_nested_str_weak(instance),
/* K16 */ be_nested_str_weak(format),
/* K17 */ be_nested_str_weak(_X25s_X3A_X25s),
/* K18 */ be_nested_str_weak(dump),
/* K19 */ be_nested_str_weak(persist_post),
/* K20 */ be_nested_str_weak(_X7B),
/* K21 */ be_nested_str_weak(concat),
/* K22 */ be_nested_str_weak(_X2C),
/* K23 */ be_nested_str_weak(_X7D),
/* K1 */ be_nested_str_weak(introspect),
/* K2 */ be_nested_str_weak(persist_pre),
/* K3 */ be_nested_str_weak(members),
/* K4 */ be_nested_str_weak(get),
/* K5 */ be_nested_str_weak(function),
/* K6 */ be_const_int(0),
/* K7 */ be_nested_str_weak(_),
/* K8 */ be_nested_str_weak(push),
/* K9 */ be_nested_str_weak(stop_iteration),
/* K10 */ be_nested_str_weak(matter),
/* K11 */ be_nested_str_weak(sort),
/* K12 */ be_nested_str_weak(_X24_X24),
/* K13 */ be_nested_str_weak(tob64),
/* K14 */ be_nested_str_weak(instance),
/* K15 */ be_nested_str_weak(_X25s_X3A_X25s),
/* K16 */ be_nested_str_weak(dump),
/* K17 */ be_nested_str_weak(persist_post),
/* K18 */ be_nested_str_weak(_X7B),
/* K19 */ be_nested_str_weak(concat),
/* K20 */ be_nested_str_weak(_X2C),
/* K21 */ be_nested_str_weak(_X7D),
}),
be_str_weak(tojson),
&be_const_str_solidified,
( &(const binstruction[96]) { /* code */
( &(const binstruction[95]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xA40A0200, // 0001 IMPORT R2 K1
0xA40E0400, // 0002 IMPORT R3 K2
0x8C100103, // 0003 GETMET R4 R0 K3
0x7C100200, // 0004 CALL R4 1
0x60100012, // 0005 GETGBL R4 G18
0x7C100000, // 0006 CALL R4 0
0x60140010, // 0007 GETGBL R5 G16
0x8C180704, // 0008 GETMET R6 R3 K4
0x5C200000, // 0009 MOVE R8 R0
0x7C180400, // 000A CALL R6 2
0x7C140200, // 000B CALL R5 1
0xA8020011, // 000C EXBLK 0 #001F
0x5C180A00, // 000D MOVE R6 R5
0x7C180000, // 000E CALL R6 0
0x8C1C0705, // 000F GETMET R7 R3 K5
0x5C240000, // 0010 MOVE R9 R0
0x5C280C00, // 0011 MOVE R10 R6
0x7C1C0600, // 0012 CALL R7 3
0x60200004, // 0013 GETGBL R8 G4
0x5C240E00, // 0014 MOVE R9 R7
0x7C200200, // 0015 CALL R8 1
0x20201106, // 0016 NE R8 R8 K6
0x78220005, // 0017 JMPF R8 #001E
0x94200D07, // 0018 GETIDX R8 R6 K7
0x20201108, // 0019 NE R8 R8 K8
0x78220002, // 001A JMPF R8 #001E
0x8C200909, // 001B GETMET R8 R4 K9
0x5C280C00, // 001C MOVE R10 R6
0x7C200400, // 001D CALL R8 2
0x7001FFED, // 001E JMP #000D
0x5814000A, // 001F LDCONST R5 K10
0xAC140200, // 0020 CATCH R5 1 0
0xB0080000, // 0021 RAISE 2 R0 R0
0xB8161600, // 0022 GETNGBL R5 K11
0x8C140B0C, // 0023 GETMET R5 R5 K12
0x5C1C0800, // 0024 MOVE R7 R4
0x7C140400, // 0025 CALL R5 2
0x5C100A00, // 0026 MOVE R4 R5
0x60140012, // 0027 GETGBL R5 G18
0x7C140000, // 0028 CALL R5 0
0x60180010, // 0029 GETGBL R6 G16
0x5C1C0800, // 002A MOVE R7 R4
0x7C180200, // 002B CALL R6 1
0xA8020027, // 002C EXBLK 0 #0055
0x5C1C0C00, // 002D MOVE R7 R6
0x7C1C0000, // 002E CALL R7 0
0x8C200705, // 002F GETMET R8 R3 K5
0x5C280000, // 0030 MOVE R10 R0
0x5C2C0E00, // 0031 MOVE R11 R7
0x7C200600, // 0032 CALL R8 3
0x4C240000, // 0033 LDNIL R9
0x1C241009, // 0034 EQ R9 R8 R9
0x78260000, // 0035 JMPF R9 #0037
0x7001FFF5, // 0036 JMP #002D
0x6024000F, // 0037 GETGBL R9 G15
0x5C281000, // 0038 MOVE R10 R8
0x602C0015, // 0039 GETGBL R11 G21
0x7C240400, // 003A CALL R9 2
0x78260004, // 003B JMPF R9 #0041
0x8C24110E, // 003C GETMET R9 R8 K14
0x7C240200, // 003D CALL R9 1
0x00261A09, // 003E ADD R9 K13 R9
0x5C201200, // 003F MOVE R8 R9
0x70020005, // 0040 JMP #0047
0x60240004, // 0041 GETGBL R9 G4
0x5C281000, // 0042 MOVE R10 R8
0x7C240200, // 0043 CALL R9 1
0x1C24130F, // 0044 EQ R9 R9 K15
0x78260000, // 0045 JMPF R9 #0047
0x7001FFE5, // 0046 JMP #002D
0x8C240B09, // 0047 GETMET R9 R5 K9
0x8C2C0510, // 0048 GETMET R11 R2 K16
0x58340011, // 0049 LDCONST R13 K17
0x8C380312, // 004A GETMET R14 R1 K18
0x60400008, // 004B GETGBL R16 G8
0x5C440E00, // 004C MOVE R17 R7
0x7C400200, // 004D CALL R16 1
0x7C380400, // 004E CALL R14 2
0x8C3C0312, // 004F GETMET R15 R1 K18
0x5C441000, // 0050 MOVE R17 R8
0x7C3C0400, // 0051 CALL R15 2
0x7C2C0800, // 0052 CALL R11 4
0x7C240400, // 0053 CALL R9 2
0x7001FFD7, // 0054 JMP #002D
0x5818000A, // 0055 LDCONST R6 K10
0xAC180200, // 0056 CATCH R6 1 0
0xB0080000, // 0057 RAISE 2 R0 R0
0x8C180113, // 0058 GETMET R6 R0 K19
0x7C180200, // 0059 CALL R6 1
0x8C180B15, // 005A GETMET R6 R5 K21
0x58200016, // 005B LDCONST R8 K22
0x7C180400, // 005C CALL R6 2
0x001A2806, // 005D ADD R6 K20 R6
0x00180D17, // 005E ADD R6 R6 K23
0x80040C00, // 005F RET 1 R6
0x8C0C0102, // 0002 GETMET R3 R0 K2
0x7C0C0200, // 0003 CALL R3 1
0x600C0012, // 0004 GETGBL R3 G18
0x7C0C0000, // 0005 CALL R3 0
0x60100010, // 0006 GETGBL R4 G16
0x8C140503, // 0007 GETMET R5 R2 K3
0x5C1C0000, // 0008 MOVE R7 R0
0x7C140400, // 0009 CALL R5 2
0x7C100200, // 000A CALL R4 1
0xA8020011, // 000B EXBLK 0 #001E
0x5C140800, // 000C MOVE R5 R4
0x7C140000, // 000D CALL R5 0
0x8C180504, // 000E GETMET R6 R2 K4
0x5C200000, // 000F MOVE R8 R0
0x5C240A00, // 0010 MOVE R9 R5
0x7C180600, // 0011 CALL R6 3
0x601C0004, // 0012 GETGBL R7 G4
0x5C200C00, // 0013 MOVE R8 R6
0x7C1C0200, // 0014 CALL R7 1
0x201C0F05, // 0015 NE R7 R7 K5
0x781E0005, // 0016 JMPF R7 #001D
0x941C0B06, // 0017 GETIDX R7 R5 K6
0x201C0F07, // 0018 NE R7 R7 K7
0x781E0002, // 0019 JMPF R7 #001D
0x8C1C0708, // 001A GETMET R7 R3 K8
0x5C240A00, // 001B MOVE R9 R5
0x7C1C0400, // 001C CALL R7 2
0x7001FFED, // 001D JMP #000C
0x58100009, // 001E LDCONST R4 K9
0xAC100200, // 001F CATCH R4 1 0
0xB0080000, // 0020 RAISE 2 R0 R0
0xB8121400, // 0021 GETNGBL R4 K10
0x8C10090B, // 0022 GETMET R4 R4 K11
0x5C180600, // 0023 MOVE R6 R3
0x7C100400, // 0024 CALL R4 2
0x5C0C0800, // 0025 MOVE R3 R4
0x60100012, // 0026 GETGBL R4 G18
0x7C100000, // 0027 CALL R4 0
0x60140010, // 0028 GETGBL R5 G16
0x5C180600, // 0029 MOVE R6 R3
0x7C140200, // 002A CALL R5 1
0xA8020027, // 002B EXBLK 0 #0054
0x5C180A00, // 002C MOVE R6 R5
0x7C180000, // 002D CALL R6 0
0x8C1C0504, // 002E GETMET R7 R2 K4
0x5C240000, // 002F MOVE R9 R0
0x5C280C00, // 0030 MOVE R10 R6
0x7C1C0600, // 0031 CALL R7 3
0x4C200000, // 0032 LDNIL R8
0x1C200E08, // 0033 EQ R8 R7 R8
0x78220000, // 0034 JMPF R8 #0036
0x7001FFF5, // 0035 JMP #002C
0x6020000F, // 0036 GETGBL R8 G15
0x5C240E00, // 0037 MOVE R9 R7
0x60280015, // 0038 GETGBL R10 G21
0x7C200400, // 0039 CALL R8 2
0x78220004, // 003A JMPF R8 #0040
0x8C200F0D, // 003B GETMET R8 R7 K13
0x7C200200, // 003C CALL R8 1
0x00221808, // 003D ADD R8 K12 R8
0x5C1C1000, // 003E MOVE R7 R8
0x70020005, // 003F JMP #0046
0x60200004, // 0040 GETGBL R8 G4
0x5C240E00, // 0041 MOVE R9 R7
0x7C200200, // 0042 CALL R8 1
0x1C20110E, // 0043 EQ R8 R8 K14
0x78220000, // 0044 JMPF R8 #0046
0x7001FFE5, // 0045 JMP #002C
0x8C200908, // 0046 GETMET R8 R4 K8
0x60280018, // 0047 GETGBL R10 G24
0x582C000F, // 0048 LDCONST R11 K15
0x8C300310, // 0049 GETMET R12 R1 K16
0x60380008, // 004A GETGBL R14 G8
0x5C3C0C00, // 004B MOVE R15 R6
0x7C380200, // 004C CALL R14 1
0x7C300400, // 004D CALL R12 2
0x8C340310, // 004E GETMET R13 R1 K16
0x5C3C0E00, // 004F MOVE R15 R7
0x7C340400, // 0050 CALL R13 2
0x7C280600, // 0051 CALL R10 3
0x7C200400, // 0052 CALL R8 2
0x7001FFD7, // 0053 JMP #002C
0x58140009, // 0054 LDCONST R5 K9
0xAC140200, // 0055 CATCH R5 1 0
0xB0080000, // 0056 RAISE 2 R0 R0
0x8C140111, // 0057 GETMET R5 R0 K17
0x7C140200, // 0058 CALL R5 1
0x8C140913, // 0059 GETMET R5 R4 K19
0x581C0014, // 005A LDCONST R7 K20
0x7C140400, // 005B CALL R5 2
0x00162405, // 005C ADD R5 K18 R5
0x00140B15, // 005D ADD R5 R5 K21
0x80040A00, // 005E RET 1 R5
})
)
);
@ -1535,7 +1529,7 @@ be_local_closure(Matter_Session_get_ac, /* name */
********************************************************************/
be_local_closure(Matter_Session_counter_snd_next, /* name */
be_nested_proto(
7, /* nstack */
6, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -1543,41 +1537,39 @@ be_local_closure(Matter_Session_counter_snd_next, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[10]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(_counter_snd_impl),
/* K2 */ be_nested_str_weak(next),
/* K3 */ be_nested_str_weak(matter),
/* K4 */ be_nested_str_weak(Counter),
/* K5 */ be_nested_str_weak(is_greater),
/* K6 */ be_nested_str_weak(counter_snd),
/* K7 */ be_nested_str_weak(_COUNTER_SND_INCR),
/* K8 */ be_nested_str_weak(does_persist),
/* K9 */ be_nested_str_weak(save),
( &(const bvalue[ 9]) { /* constants */
/* K0 */ be_nested_str_weak(_counter_snd_impl),
/* K1 */ be_nested_str_weak(next),
/* K2 */ be_nested_str_weak(matter),
/* K3 */ be_nested_str_weak(Counter),
/* K4 */ be_nested_str_weak(is_greater),
/* K5 */ be_nested_str_weak(counter_snd),
/* K6 */ be_nested_str_weak(_COUNTER_SND_INCR),
/* K7 */ be_nested_str_weak(does_persist),
/* K8 */ be_nested_str_weak(save),
}),
be_str_weak(counter_snd_next),
&be_const_str_solidified,
( &(const binstruction[20]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x88080101, // 0001 GETMBR R2 R0 K1
0x8C080502, // 0002 GETMET R2 R2 K2
0x7C080200, // 0003 CALL R2 1
0xB80E0600, // 0004 GETNGBL R3 K3
0x880C0704, // 0005 GETMBR R3 R3 K4
0x8C0C0705, // 0006 GETMET R3 R3 K5
0x5C140400, // 0007 MOVE R5 R2
0x88180106, // 0008 GETMBR R6 R0 K6
0x7C0C0600, // 0009 CALL R3 3
0x780E0007, // 000A JMPF R3 #0013
0x880C0107, // 000B GETMBR R3 R0 K7
0x000C0403, // 000C ADD R3 R2 R3
0x90020C03, // 000D SETMBR R0 K6 R3
0x8C0C0108, // 000E GETMET R3 R0 K8
0x7C0C0200, // 000F CALL R3 1
0x780E0001, // 0010 JMPF R3 #0013
0x8C0C0109, // 0011 GETMET R3 R0 K9
0x7C0C0200, // 0012 CALL R3 1
0x80040400, // 0013 RET 1 R2
( &(const binstruction[19]) { /* code */
0x88040100, // 0000 GETMBR R1 R0 K0
0x8C040301, // 0001 GETMET R1 R1 K1
0x7C040200, // 0002 CALL R1 1
0xB80A0400, // 0003 GETNGBL R2 K2
0x88080503, // 0004 GETMBR R2 R2 K3
0x8C080504, // 0005 GETMET R2 R2 K4
0x5C100200, // 0006 MOVE R4 R1
0x88140105, // 0007 GETMBR R5 R0 K5
0x7C080600, // 0008 CALL R2 3
0x780A0007, // 0009 JMPF R2 #0012
0x88080106, // 000A GETMBR R2 R0 K6
0x00080202, // 000B ADD R2 R1 R2
0x90020A02, // 000C SETMBR R0 K5 R2
0x8C080107, // 000D GETMET R2 R0 K7
0x7C080200, // 000E CALL R2 1
0x780A0001, // 000F JMPF R2 #0012
0x8C080108, // 0010 GETMET R2 R0 K8
0x7C080200, // 0011 CALL R2 1
0x80040200, // 0012 RET 1 R1
})
)
);

View File

@ -332,7 +332,7 @@ be_local_closure(Matter_Session_Store_next_fabric_idx, /* name */
********************************************************************/
be_local_closure(Matter_Session_Store_load_fabrics, /* name */
be_nested_proto(
17, /* nstack */
16, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -340,158 +340,155 @@ be_local_closure(Matter_Session_Store_load_fabrics, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[29]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_nested_str_weak(sessions),
/* K2 */ be_nested_str_weak(matter),
/* K3 */ be_nested_str_weak(Expirable_list),
/* K4 */ be_nested_str_weak(fabrics),
/* K5 */ be_nested_str_weak(_FABRICS),
/* K6 */ be_nested_str_weak(read),
/* K7 */ be_nested_str_weak(close),
/* K8 */ be_nested_str_weak(json),
/* K9 */ be_nested_str_weak(load),
/* K10 */ be_nested_str_weak(tasmota),
/* K11 */ be_nested_str_weak(gc),
/* K12 */ be_nested_str_weak(Fabric),
/* K13 */ be_nested_str_weak(fromjson),
/* K14 */ be_nested_str_weak(set_no_expiration),
/* K15 */ be_nested_str_weak(set_persist),
/* K16 */ be_nested_str_weak(find),
/* K17 */ be_nested_str_weak(_sessions),
/* K18 */ be_nested_str_weak(Session),
/* K19 */ be_nested_str_weak(add_session),
/* K20 */ be_nested_str_weak(stop_iteration),
/* K21 */ be_nested_str_weak(push),
/* K22 */ be_nested_str_weak(log),
/* K23 */ be_nested_str_weak(format),
/* K24 */ be_nested_str_weak(MTR_X3A_X20Loaded_X20_X25i_X20fabric_X28s_X29),
/* K25 */ be_const_int(2),
/* K26 */ be_nested_str_weak(io_error),
/* K27 */ be_nested_str_weak(MTR_X3A_X20Session_Store_X3A_X3Aload_X20Exception_X3A),
/* K28 */ be_nested_str_weak(_X7C),
( &(const bvalue[27]) { /* constants */
/* K0 */ be_nested_str_weak(sessions),
/* K1 */ be_nested_str_weak(matter),
/* K2 */ be_nested_str_weak(Expirable_list),
/* K3 */ be_nested_str_weak(fabrics),
/* K4 */ be_nested_str_weak(_FABRICS),
/* K5 */ be_nested_str_weak(read),
/* K6 */ be_nested_str_weak(close),
/* K7 */ be_nested_str_weak(json),
/* K8 */ be_nested_str_weak(load),
/* K9 */ be_nested_str_weak(tasmota),
/* K10 */ be_nested_str_weak(gc),
/* K11 */ be_nested_str_weak(Fabric),
/* K12 */ be_nested_str_weak(fromjson),
/* K13 */ be_nested_str_weak(set_no_expiration),
/* K14 */ be_nested_str_weak(set_persist),
/* K15 */ be_nested_str_weak(find),
/* K16 */ be_nested_str_weak(_sessions),
/* K17 */ be_nested_str_weak(Session),
/* K18 */ be_nested_str_weak(add_session),
/* K19 */ be_nested_str_weak(stop_iteration),
/* K20 */ be_nested_str_weak(push),
/* K21 */ be_nested_str_weak(log),
/* K22 */ be_nested_str_weak(MTR_X3A_X20Loaded_X20_X25i_X20fabric_X28s_X29),
/* K23 */ be_const_int(2),
/* K24 */ be_nested_str_weak(io_error),
/* K25 */ be_nested_str_weak(MTR_X3A_X20Session_Store_X3A_X3Aload_X20Exception_X3A),
/* K26 */ be_nested_str_weak(_X7C),
}),
be_str_weak(load_fabrics),
&be_const_str_solidified,
( &(const binstruction[118]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0xA802005F, // 0001 EXBLK 0 #0062
0xB80A0400, // 0002 GETNGBL R2 K2
0x8C080503, // 0003 GETMET R2 R2 K3
0x7C080200, // 0004 CALL R2 1
0x90020202, // 0005 SETMBR R0 K1 R2
0xB80A0400, // 0006 GETNGBL R2 K2
0x8C080503, // 0007 GETMET R2 R2 K3
0x7C080200, // 0008 CALL R2 1
0x90020802, // 0009 SETMBR R0 K4 R2
0x60080011, // 000A GETGBL R2 G17
0x880C0105, // 000B GETMBR R3 R0 K5
0x7C080200, // 000C CALL R2 1
0x8C0C0506, // 000D GETMET R3 R2 K6
0x7C0C0200, // 000E CALL R3 1
0x8C100507, // 000F GETMET R4 R2 K7
0x7C100200, // 0010 CALL R4 1
0xA4121000, // 0011 IMPORT R4 K8
0x8C140909, // 0012 GETMET R5 R4 K9
0x5C1C0600, // 0013 MOVE R7 R3
0x7C140400, // 0014 CALL R5 2
0x4C0C0000, // 0015 LDNIL R3
0xB81A1400, // 0016 GETNGBL R6 K10
0x8C180D0B, // 0017 GETMET R6 R6 K11
0x7C180200, // 0018 CALL R6 1
0x60180010, // 0019 GETGBL R6 G16
0x5C1C0A00, // 001A MOVE R7 R5
0x7C180200, // 001B CALL R6 1
0xA8020035, // 001C EXBLK 0 #0053
0x5C1C0C00, // 001D MOVE R7 R6
0x7C1C0000, // 001E CALL R7 0
0xB8220400, // 001F GETNGBL R8 K2
0x8820110C, // 0020 GETMBR R8 R8 K12
0x8C20110D, // 0021 GETMET R8 R8 K13
0x5C280000, // 0022 MOVE R10 R0
0x5C2C0E00, // 0023 MOVE R11 R7
0x7C200600, // 0024 CALL R8 3
0x8C24110E, // 0025 GETMET R9 R8 K14
0x7C240200, // 0026 CALL R9 1
0x8C24110F, // 0027 GETMET R9 R8 K15
0x502C0200, // 0028 LDBOOL R11 1 0
0x7C240400, // 0029 CALL R9 2
0x8C240F10, // 002A GETMET R9 R7 K16
0x582C0011, // 002B LDCONST R11 K17
0x60300012, // 002C GETGBL R12 G18
0x7C300000, // 002D CALL R12 0
0x7C240600, // 002E CALL R9 3
0x60280010, // 002F GETGBL R10 G16
0x5C2C1200, // 0030 MOVE R11 R9
0x7C280200, // 0031 CALL R10 1
0xA8020017, // 0032 EXBLK 0 #004B
0x5C2C1400, // 0033 MOVE R11 R10
0x7C2C0000, // 0034 CALL R11 0
0xB8320400, // 0035 GETNGBL R12 K2
0x88301912, // 0036 GETMBR R12 R12 K18
0x8C30190D, // 0037 GETMET R12 R12 K13
0x5C380000, // 0038 MOVE R14 R0
0x5C3C1600, // 0039 MOVE R15 R11
0x5C401000, // 003A MOVE R16 R8
0x7C300800, // 003B CALL R12 4
0x4C340000, // 003C LDNIL R13
0x2034180D, // 003D NE R13 R12 R13
0x7836000A, // 003E JMPF R13 #004A
0x8C34190E, // 003F GETMET R13 R12 K14
0x7C340200, // 0040 CALL R13 1
0x8C34190F, // 0041 GETMET R13 R12 K15
0x503C0200, // 0042 LDBOOL R15 1 0
0x7C340400, // 0043 CALL R13 2
0x8C340113, // 0044 GETMET R13 R0 K19
0x5C3C1800, // 0045 MOVE R15 R12
0x7C340400, // 0046 CALL R13 2
0x8C341113, // 0047 GETMET R13 R8 K19
0x5C3C1800, // 0048 MOVE R15 R12
0x7C340400, // 0049 CALL R13 2
0x7001FFE7, // 004A JMP #0033
0x58280014, // 004B LDCONST R10 K20
0xAC280200, // 004C CATCH R10 1 0
0xB0080000, // 004D RAISE 2 R0 R0
0x88280104, // 004E GETMBR R10 R0 K4
0x8C281515, // 004F GETMET R10 R10 K21
0x5C301000, // 0050 MOVE R12 R8
0x7C280400, // 0051 CALL R10 2
0x7001FFC9, // 0052 JMP #001D
0x58180014, // 0053 LDCONST R6 K20
0xAC180200, // 0054 CATCH R6 1 0
0xB0080000, // 0055 RAISE 2 R0 R0
0xB81A1400, // 0056 GETNGBL R6 K10
0x8C180D16, // 0057 GETMET R6 R6 K22
0x8C200317, // 0058 GETMET R8 R1 K23
0x58280018, // 0059 LDCONST R10 K24
0x602C000C, // 005A GETGBL R11 G12
0x88300104, // 005B GETMBR R12 R0 K4
0x7C2C0200, // 005C CALL R11 1
0x7C200600, // 005D CALL R8 3
0x58240019, // 005E LDCONST R9 K25
0x7C180600, // 005F CALL R6 3
0xA8040001, // 0060 EXBLK 1 1
0x70020012, // 0061 JMP #0075
0xAC080002, // 0062 CATCH R2 0 2
0x7002000F, // 0063 JMP #0074
0x2010051A, // 0064 NE R4 R2 K26
0x7812000C, // 0065 JMPF R4 #0073
0xB8121400, // 0066 GETNGBL R4 K10
0x8C100916, // 0067 GETMET R4 R4 K22
0x60180008, // 0068 GETGBL R6 G8
0x5C1C0400, // 0069 MOVE R7 R2
0x7C180200, // 006A CALL R6 1
0x001A3606, // 006B ADD R6 K27 R6
0x00180D1C, // 006C ADD R6 R6 K28
0x601C0008, // 006D GETGBL R7 G8
0x5C200600, // 006E MOVE R8 R3
0x7C1C0200, // 006F CALL R7 1
0x00180C07, // 0070 ADD R6 R6 R7
0x581C0019, // 0071 LDCONST R7 K25
0x7C100600, // 0072 CALL R4 3
0x70020000, // 0073 JMP #0075
0xB0080000, // 0074 RAISE 2 R0 R0
0x80000000, // 0075 RET 0
( &(const binstruction[117]) { /* code */
0xA802005F, // 0000 EXBLK 0 #0061
0xB8060200, // 0001 GETNGBL R1 K1
0x8C040302, // 0002 GETMET R1 R1 K2
0x7C040200, // 0003 CALL R1 1
0x90020001, // 0004 SETMBR R0 K0 R1
0xB8060200, // 0005 GETNGBL R1 K1
0x8C040302, // 0006 GETMET R1 R1 K2
0x7C040200, // 0007 CALL R1 1
0x90020601, // 0008 SETMBR R0 K3 R1
0x60040011, // 0009 GETGBL R1 G17
0x88080104, // 000A GETMBR R2 R0 K4
0x7C040200, // 000B CALL R1 1
0x8C080305, // 000C GETMET R2 R1 K5
0x7C080200, // 000D CALL R2 1
0x8C0C0306, // 000E GETMET R3 R1 K6
0x7C0C0200, // 000F CALL R3 1
0xA40E0E00, // 0010 IMPORT R3 K7
0x8C100708, // 0011 GETMET R4 R3 K8
0x5C180400, // 0012 MOVE R6 R2
0x7C100400, // 0013 CALL R4 2
0x4C080000, // 0014 LDNIL R2
0xB8161200, // 0015 GETNGBL R5 K9
0x8C140B0A, // 0016 GETMET R5 R5 K10
0x7C140200, // 0017 CALL R5 1
0x60140010, // 0018 GETGBL R5 G16
0x5C180800, // 0019 MOVE R6 R4
0x7C140200, // 001A CALL R5 1
0xA8020035, // 001B EXBLK 0 #0052
0x5C180A00, // 001C MOVE R6 R5
0x7C180000, // 001D CALL R6 0
0xB81E0200, // 001E GETNGBL R7 K1
0x881C0F0B, // 001F GETMBR R7 R7 K11
0x8C1C0F0C, // 0020 GETMET R7 R7 K12
0x5C240000, // 0021 MOVE R9 R0
0x5C280C00, // 0022 MOVE R10 R6
0x7C1C0600, // 0023 CALL R7 3
0x8C200F0D, // 0024 GETMET R8 R7 K13
0x7C200200, // 0025 CALL R8 1
0x8C200F0E, // 0026 GETMET R8 R7 K14
0x50280200, // 0027 LDBOOL R10 1 0
0x7C200400, // 0028 CALL R8 2
0x8C200D0F, // 0029 GETMET R8 R6 K15
0x58280010, // 002A LDCONST R10 K16
0x602C0012, // 002B GETGBL R11 G18
0x7C2C0000, // 002C CALL R11 0
0x7C200600, // 002D CALL R8 3
0x60240010, // 002E GETGBL R9 G16
0x5C281000, // 002F MOVE R10 R8
0x7C240200, // 0030 CALL R9 1
0xA8020017, // 0031 EXBLK 0 #004A
0x5C281200, // 0032 MOVE R10 R9
0x7C280000, // 0033 CALL R10 0
0xB82E0200, // 0034 GETNGBL R11 K1
0x882C1711, // 0035 GETMBR R11 R11 K17
0x8C2C170C, // 0036 GETMET R11 R11 K12
0x5C340000, // 0037 MOVE R13 R0
0x5C381400, // 0038 MOVE R14 R10
0x5C3C0E00, // 0039 MOVE R15 R7
0x7C2C0800, // 003A CALL R11 4
0x4C300000, // 003B LDNIL R12
0x2030160C, // 003C NE R12 R11 R12
0x7832000A, // 003D JMPF R12 #0049
0x8C30170D, // 003E GETMET R12 R11 K13
0x7C300200, // 003F CALL R12 1
0x8C30170E, // 0040 GETMET R12 R11 K14
0x50380200, // 0041 LDBOOL R14 1 0
0x7C300400, // 0042 CALL R12 2
0x8C300112, // 0043 GETMET R12 R0 K18
0x5C381600, // 0044 MOVE R14 R11
0x7C300400, // 0045 CALL R12 2
0x8C300F12, // 0046 GETMET R12 R7 K18
0x5C381600, // 0047 MOVE R14 R11
0x7C300400, // 0048 CALL R12 2
0x7001FFE7, // 0049 JMP #0032
0x58240013, // 004A LDCONST R9 K19
0xAC240200, // 004B CATCH R9 1 0
0xB0080000, // 004C RAISE 2 R0 R0
0x88240103, // 004D GETMBR R9 R0 K3
0x8C241314, // 004E GETMET R9 R9 K20
0x5C2C0E00, // 004F MOVE R11 R7
0x7C240400, // 0050 CALL R9 2
0x7001FFC9, // 0051 JMP #001C
0x58140013, // 0052 LDCONST R5 K19
0xAC140200, // 0053 CATCH R5 1 0
0xB0080000, // 0054 RAISE 2 R0 R0
0xB8161200, // 0055 GETNGBL R5 K9
0x8C140B15, // 0056 GETMET R5 R5 K21
0x601C0018, // 0057 GETGBL R7 G24
0x58200016, // 0058 LDCONST R8 K22
0x6024000C, // 0059 GETGBL R9 G12
0x88280103, // 005A GETMBR R10 R0 K3
0x7C240200, // 005B CALL R9 1
0x7C1C0400, // 005C CALL R7 2
0x58200017, // 005D LDCONST R8 K23
0x7C140600, // 005E CALL R5 3
0xA8040001, // 005F EXBLK 1 1
0x70020012, // 0060 JMP #0074
0xAC040002, // 0061 CATCH R1 0 2
0x7002000F, // 0062 JMP #0073
0x200C0318, // 0063 NE R3 R1 K24
0x780E000C, // 0064 JMPF R3 #0072
0xB80E1200, // 0065 GETNGBL R3 K9
0x8C0C0715, // 0066 GETMET R3 R3 K21
0x60140008, // 0067 GETGBL R5 G8
0x5C180200, // 0068 MOVE R6 R1
0x7C140200, // 0069 CALL R5 1
0x00163205, // 006A ADD R5 K25 R5
0x00140B1A, // 006B ADD R5 R5 K26
0x60180008, // 006C GETGBL R6 G8
0x5C1C0400, // 006D MOVE R7 R2
0x7C180200, // 006E CALL R6 1
0x00140A06, // 006F ADD R5 R5 R6
0x58180017, // 0070 LDCONST R6 K23
0x7C0C0600, // 0071 CALL R3 3
0x70020000, // 0072 JMP #0074
0xB0080000, // 0073 RAISE 2 R0 R0
0x80000000, // 0074 RET 0
})
)
);
@ -1088,7 +1085,7 @@ be_local_closure(Matter_Session_Store_sessions_active, /* name */
********************************************************************/
be_local_closure(Matter_Session_Store_find_session_by_resumption_id, /* name */
be_nested_proto(
14, /* nstack */
12, /* nstack */
2, /* argc */
2, /* varg */
0, /* has upvals */
@ -1096,61 +1093,58 @@ be_local_closure(Matter_Session_Store_find_session_by_resumption_id, /* name *
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[11]) { /* constants */
/* K0 */ be_nested_str_weak(string),
/* K1 */ be_const_int(0),
/* K2 */ be_nested_str_weak(sessions),
/* K3 */ be_nested_str_weak(tasmota),
/* K4 */ be_nested_str_weak(log),
/* K5 */ be_nested_str_weak(format),
/* K6 */ be_nested_str_weak(MTR_X3A_X20session_X2Eresumption_id_X3D_X25s_X20vs_X20_X25s),
/* K7 */ be_nested_str_weak(resumption_id),
/* K8 */ be_nested_str_weak(shared_secret),
/* K9 */ be_nested_str_weak(update),
/* K10 */ be_const_int(1),
( &(const bvalue[ 9]) { /* constants */
/* K0 */ be_const_int(0),
/* K1 */ be_nested_str_weak(sessions),
/* K2 */ be_nested_str_weak(tasmota),
/* K3 */ be_nested_str_weak(log),
/* K4 */ be_nested_str_weak(MTR_X3A_X20session_X2Eresumption_id_X3D_X25s_X20vs_X20_X25s),
/* K5 */ be_nested_str_weak(resumption_id),
/* K6 */ be_nested_str_weak(shared_secret),
/* K7 */ be_nested_str_weak(update),
/* K8 */ be_const_int(1),
}),
be_str_weak(find_session_by_resumption_id),
&be_const_str_solidified,
( &(const binstruction[39]) { /* code */
0xA40A0000, // 0000 IMPORT R2 K0
0x5C0C0200, // 0001 MOVE R3 R1
0x740E0001, // 0002 JMPT R3 #0005
0x4C0C0000, // 0003 LDNIL R3
0x80040600, // 0004 RET 1 R3
0x580C0001, // 0005 LDCONST R3 K1
0x88100102, // 0006 GETMBR R4 R0 K2
0x6014000C, // 0007 GETGBL R5 G12
0x5C180800, // 0008 MOVE R6 R4
0x7C140200, // 0009 CALL R5 1
0x14140605, // 000A LT R5 R3 R5
0x78160019, // 000B JMPF R5 #0026
0x94140803, // 000C GETIDX R5 R4 R3
0xB81A0600, // 000D GETNGBL R6 K3
0x8C180D04, // 000E GETMET R6 R6 K4
0x8C200505, // 000F GETMET R8 R2 K5
0x58280006, // 0010 LDCONST R10 K6
0x602C0008, // 0011 GETGBL R11 G8
0x88300B07, // 0012 GETMBR R12 R5 K7
0x7C2C0200, // 0013 CALL R11 1
0x60300008, // 0014 GETGBL R12 G8
0x5C340200, // 0015 MOVE R13 R1
0x7C300200, // 0016 CALL R12 1
0x7C200800, // 0017 CALL R8 4
0x54260003, // 0018 LDINT R9 4
0x7C180600, // 0019 CALL R6 3
0x88180B07, // 001A GETMBR R6 R5 K7
0x1C180C01, // 001B EQ R6 R6 R1
0x781A0006, // 001C JMPF R6 #0024
0x88180B08, // 001D GETMBR R6 R5 K8
0x4C1C0000, // 001E LDNIL R7
0x20180C07, // 001F NE R6 R6 R7
0x781A0002, // 0020 JMPF R6 #0024
0x8C180B09, // 0021 GETMET R6 R5 K9
0x7C180200, // 0022 CALL R6 1
0x80040A00, // 0023 RET 1 R5
0x000C070A, // 0024 ADD R3 R3 K10
0x7001FFE0, // 0025 JMP #0007
0x80000000, // 0026 RET 0
( &(const binstruction[38]) { /* code */
0x5C080200, // 0000 MOVE R2 R1
0x740A0001, // 0001 JMPT R2 #0004
0x4C080000, // 0002 LDNIL R2
0x80040400, // 0003 RET 1 R2
0x58080000, // 0004 LDCONST R2 K0
0x880C0101, // 0005 GETMBR R3 R0 K1
0x6010000C, // 0006 GETGBL R4 G12
0x5C140600, // 0007 MOVE R5 R3
0x7C100200, // 0008 CALL R4 1
0x14100404, // 0009 LT R4 R2 R4
0x78120019, // 000A JMPF R4 #0025
0x94100602, // 000B GETIDX R4 R3 R2
0xB8160400, // 000C GETNGBL R5 K2
0x8C140B03, // 000D GETMET R5 R5 K3
0x601C0018, // 000E GETGBL R7 G24
0x58200004, // 000F LDCONST R8 K4
0x60240008, // 0010 GETGBL R9 G8
0x88280905, // 0011 GETMBR R10 R4 K5
0x7C240200, // 0012 CALL R9 1
0x60280008, // 0013 GETGBL R10 G8
0x5C2C0200, // 0014 MOVE R11 R1
0x7C280200, // 0015 CALL R10 1
0x7C1C0600, // 0016 CALL R7 3
0x54220003, // 0017 LDINT R8 4
0x7C140600, // 0018 CALL R5 3
0x88140905, // 0019 GETMBR R5 R4 K5
0x1C140A01, // 001A EQ R5 R5 R1
0x78160006, // 001B JMPF R5 #0023
0x88140906, // 001C GETMBR R5 R4 K6
0x4C180000, // 001D LDNIL R6
0x20140A06, // 001E NE R5 R5 R6
0x78160002, // 001F JMPF R5 #0023
0x8C140907, // 0020 GETMET R5 R4 K7
0x7C140200, // 0021 CALL R5 1
0x80040800, // 0022 RET 1 R4
0x00080508, // 0023 ADD R2 R2 K8
0x7001FFE0, // 0024 JMP #0006
0x80000000, // 0025 RET 0
})
)
);
@ -1162,7 +1156,7 @@ be_local_closure(Matter_Session_Store_find_session_by_resumption_id, /* name *
********************************************************************/
be_local_closure(Matter_Session_Store_save_fabrics, /* name */
be_nested_proto(
14, /* nstack */
12, /* nstack */
1, /* argc */
2, /* varg */
0, /* has upvals */
@ -1170,7 +1164,7 @@ be_local_closure(Matter_Session_Store_save_fabrics, /* name */
0, /* has sup protos */
NULL, /* no sub protos */
1, /* has constants */
( &(const bvalue[29]) { /* constants */
( &(const bvalue[27]) { /* constants */
/* K0 */ be_nested_str_weak(json),
/* K1 */ be_nested_str_weak(remove_expired),
/* K2 */ be_const_int(0),
@ -1185,25 +1179,23 @@ be_local_closure(Matter_Session_Store_save_fabrics, /* name */
/* K11 */ be_nested_str_weak(concat),
/* K12 */ be_nested_str_weak(_X2C),
/* K13 */ be_nested_str_weak(_X5D),
/* K14 */ be_nested_str_weak(string),
/* K15 */ be_nested_str_weak(_FABRICS),
/* K16 */ be_nested_str_weak(w),
/* K17 */ be_nested_str_weak(write),
/* K18 */ be_nested_str_weak(close),
/* K19 */ be_nested_str_weak(tasmota),
/* K20 */ be_nested_str_weak(log),
/* K21 */ be_nested_str_weak(format),
/* K22 */ be_nested_str_weak(MTR_X3A_X20_X3DSaved_X20_X20_X20_X20_X20_X25i_X20fabric_X28s_X29_X20and_X20_X25i_X20session_X28s_X29),
/* K23 */ be_const_int(3),
/* K24 */ be_nested_str_weak(device),
/* K25 */ be_nested_str_weak(event_fabrics_saved),
/* K26 */ be_nested_str_weak(MTR_X3A_X20Session_Store_X3A_X3Asave_X20Exception_X3A),
/* K27 */ be_nested_str_weak(_X7C),
/* K28 */ be_const_int(2),
/* K14 */ be_nested_str_weak(_FABRICS),
/* K15 */ be_nested_str_weak(w),
/* K16 */ be_nested_str_weak(write),
/* K17 */ be_nested_str_weak(close),
/* K18 */ be_nested_str_weak(tasmota),
/* K19 */ be_nested_str_weak(log),
/* K20 */ be_nested_str_weak(MTR_X3A_X20_X3DSaved_X20_X20_X20_X20_X20_X25i_X20fabric_X28s_X29_X20and_X20_X25i_X20session_X28s_X29),
/* K21 */ be_const_int(3),
/* K22 */ be_nested_str_weak(device),
/* K23 */ be_nested_str_weak(event_fabrics_saved),
/* K24 */ be_nested_str_weak(MTR_X3A_X20Session_Store_X3A_X3Asave_X20Exception_X3A),
/* K25 */ be_nested_str_weak(_X7C),
/* K26 */ be_const_int(2),
}),
be_str_weak(save_fabrics),
&be_const_str_solidified,
( &(const binstruction[87]) { /* code */
( &(const binstruction[86]) { /* code */
0xA4060000, // 0000 IMPORT R1 K0
0x8C080101, // 0001 GETMET R2 R0 K1
0x7C080200, // 0002 CALL R2 1
@ -1248,49 +1240,48 @@ be_local_closure(Matter_Session_Store_save_fabrics, /* name */
0x00161405, // 0029 ADD R5 K10 R5
0x00140B0D, // 002A ADD R5 R5 K13
0x5C0C0A00, // 002B MOVE R3 R5
0xA8020017, // 002C EXBLK 0 #0045
0xA4161C00, // 002D IMPORT R5 K14
0x60180011, // 002E GETGBL R6 G17
0x881C010F, // 002F GETMBR R7 R0 K15
0x58200010, // 0030 LDCONST R8 K16
0x7C180400, // 0031 CALL R6 2
0x8C1C0D11, // 0032 GETMET R7 R6 K17
0x5C240600, // 0033 MOVE R9 R3
0x7C1C0400, // 0034 CALL R7 2
0x8C1C0D12, // 0035 GETMET R7 R6 K18
0x7C1C0200, // 0036 CALL R7 1
0xB81E2600, // 0037 GETNGBL R7 K19
0x8C1C0F14, // 0038 GETMET R7 R7 K20
0x8C240B15, // 0039 GETMET R9 R5 K21
0x582C0016, // 003A LDCONST R11 K22
0x5C300800, // 003B MOVE R12 R4
0x5C340400, // 003C MOVE R13 R2
0x7C240800, // 003D CALL R9 4
0x58280017, // 003E LDCONST R10 K23
0x7C1C0600, // 003F CALL R7 3
0x881C0118, // 0040 GETMBR R7 R0 K24
0x8C1C0F19, // 0041 GETMET R7 R7 K25
0x7C1C0200, // 0042 CALL R7 1
0xA8040001, // 0043 EXBLK 1 1
0x70020010, // 0044 JMP #0056
0xAC140002, // 0045 CATCH R5 0 2
0x7002000D, // 0046 JMP #0055
0xB81E2600, // 0047 GETNGBL R7 K19
0x8C1C0F14, // 0048 GETMET R7 R7 K20
0x60240008, // 0049 GETGBL R9 G8
0x5C280A00, // 004A MOVE R10 R5
0x7C240200, // 004B CALL R9 1
0x00263409, // 004C ADD R9 K26 R9
0x0024131B, // 004D ADD R9 R9 K27
0x60280008, // 004E GETGBL R10 G8
0x5C2C0C00, // 004F MOVE R11 R6
0x7C280200, // 0050 CALL R10 1
0x0024120A, // 0051 ADD R9 R9 R10
0x5828001C, // 0052 LDCONST R10 K28
0x7C1C0600, // 0053 CALL R7 3
0x70020000, // 0054 JMP #0056
0xB0080000, // 0055 RAISE 2 R0 R0
0x80000000, // 0056 RET 0
0xA8020016, // 002C EXBLK 0 #0044
0x60140011, // 002D GETGBL R5 G17
0x8818010E, // 002E GETMBR R6 R0 K14
0x581C000F, // 002F LDCONST R7 K15
0x7C140400, // 0030 CALL R5 2
0x8C180B10, // 0031 GETMET R6 R5 K16
0x5C200600, // 0032 MOVE R8 R3
0x7C180400, // 0033 CALL R6 2
0x8C180B11, // 0034 GETMET R6 R5 K17
0x7C180200, // 0035 CALL R6 1
0xB81A2400, // 0036 GETNGBL R6 K18
0x8C180D13, // 0037 GETMET R6 R6 K19
0x60200018, // 0038 GETGBL R8 G24
0x58240014, // 0039 LDCONST R9 K20
0x5C280800, // 003A MOVE R10 R4
0x5C2C0400, // 003B MOVE R11 R2
0x7C200600, // 003C CALL R8 3
0x58240015, // 003D LDCONST R9 K21
0x7C180600, // 003E CALL R6 3
0x88180116, // 003F GETMBR R6 R0 K22
0x8C180D17, // 0040 GETMET R6 R6 K23
0x7C180200, // 0041 CALL R6 1
0xA8040001, // 0042 EXBLK 1 1
0x70020010, // 0043 JMP #0055
0xAC140002, // 0044 CATCH R5 0 2
0x7002000D, // 0045 JMP #0054
0xB81E2400, // 0046 GETNGBL R7 K18
0x8C1C0F13, // 0047 GETMET R7 R7 K19
0x60240008, // 0048 GETGBL R9 G8
0x5C280A00, // 0049 MOVE R10 R5
0x7C240200, // 004A CALL R9 1
0x00263009, // 004B ADD R9 K24 R9
0x00241319, // 004C ADD R9 R9 K25
0x60280008, // 004D GETGBL R10 G8
0x5C2C0C00, // 004E MOVE R11 R6
0x7C280200, // 004F CALL R10 1
0x0024120A, // 0050 ADD R9 R9 R10
0x5828001A, // 0051 LDCONST R10 K26
0x7C1C0600, // 0052 CALL R7 3
0x70020000, // 0053 JMP #0055
0xB0080000, // 0054 RAISE 2 R0 R0
0x80000000, // 0055 RET 0
})
)
);

Some files were not shown because too many files have changed in this diff Show More