mirror of https://github.com/arendst/Tasmota.git
Matter support Homekit commissioning (#18216)
This commit is contained in:
parent
9a3a479c4f
commit
e92e115451
|
@ -72,6 +72,13 @@ void int64_set(int64_t *i64, int32_t high, int32_t low) {
|
|||
}
|
||||
BE_FUNC_CTYPE_DECLARE(int64_set, "", ".ii")
|
||||
|
||||
int64_t* int64_fromu32(bvm *vm, uint32_t low) {
|
||||
int64_t* r64 = (int64_t*)be_malloc(vm, sizeof(int64_t));
|
||||
*r64 = low;
|
||||
return r64;
|
||||
}
|
||||
BE_FUNC_CTYPE_DECLARE(int64_fromu32, "int64", "@i")
|
||||
|
||||
int64_t* int64_add(bvm *vm, int64_t *i64, int64_t *j64) {
|
||||
int64_t* r64 = (int64_t*)be_malloc(vm, sizeof(int64_t));
|
||||
// it's possible that arg j64 is nullptr, since class type does allow NULLPTR to come through.
|
||||
|
@ -197,6 +204,7 @@ class be_class_int64 (scope: global, name: int64) {
|
|||
init, ctype_func(int64_init)
|
||||
deinit, ctype_func(int64_deinit)
|
||||
set, ctype_func(int64_set)
|
||||
fromu32, static_ctype_func(int64_fromu32)
|
||||
|
||||
tostring, ctype_func(int64_tostring)
|
||||
fromstring, static_ctype_func(int64_fromstring)
|
||||
|
|
|
@ -77,6 +77,8 @@ class Matter_Commisioning_Context
|
|||
return self.parse_Sigma1(msg)
|
||||
elif msg.opcode == 0x32
|
||||
return self.parse_Sigma3(msg)
|
||||
elif msg.opcode == 0x40
|
||||
return self.parse_StatusReport(msg)
|
||||
end
|
||||
|
||||
return false
|
||||
|
@ -373,6 +375,12 @@ class Matter_Commisioning_Context
|
|||
end
|
||||
|
||||
if sigma1.resumptionID == nil || sigma1.initiatorResumeMIC == nil
|
||||
|
||||
# tasmota.log("MTR: fabric="+matter.inspect(session._fabric), 4)
|
||||
# tasmota.log("MTR: no_private_key="+session._fabric.no_private_key.tohex(), 4)
|
||||
# tasmota.log("MTR: noc ="+session._fabric.noc.tohex(), 4)
|
||||
# tasmota.log("MTR: root_ca_cert ="+session._fabric.root_ca_certificate.tohex(), 4)
|
||||
|
||||
# Compute Sigma2, p.162
|
||||
session.resumption_id = crypto.random(16)
|
||||
self.ResponderEph_priv = crypto.random(32)
|
||||
|
@ -400,6 +408,7 @@ class Matter_Commisioning_Context
|
|||
session.__Msg1 = sigma1.Msg1
|
||||
tasmota.log("MTR: * MSG1 = " + session.__Msg1.tohex(), 4)
|
||||
var TranscriptHash = crypto.SHA256().update(session.__Msg1).out()
|
||||
# tasmota.log("MTR: TranscriptHash =" + TranscriptHash.tohex(), 4)
|
||||
|
||||
# Compute S2K, p.175
|
||||
var s2k_info = bytes().fromstring(self.S2K_Info)
|
||||
|
@ -560,6 +569,12 @@ class Matter_Commisioning_Context
|
|||
return true
|
||||
end
|
||||
|
||||
def parse_StatusReport(msg)
|
||||
var session = msg.session
|
||||
tasmota.log("MTR: StatusReport = "+msg.raw[msg.app_payload_idx..].tohex())
|
||||
return true
|
||||
end
|
||||
|
||||
#############################################################
|
||||
# placeholder, nothing to run for now
|
||||
def every_second()
|
||||
|
|
|
@ -86,7 +86,7 @@ class Matter_Device
|
|||
self.start_udp(self.UDP_PORT)
|
||||
tasmota.remove_rule("Wifi#Connected", "matter_device_udp")
|
||||
|
||||
end, self)
|
||||
end, "matter_device_udp")
|
||||
end
|
||||
|
||||
if tasmota.eth()['up']
|
||||
|
@ -95,7 +95,7 @@ class Matter_Device
|
|||
tasmota.add_rule("Eth#Connected", def ()
|
||||
self.start_udp(self.UDP_PORT)
|
||||
tasmota.remove_rule("Eth#Connected", "matter_device_udp")
|
||||
end, self)
|
||||
end, "matter_device_udp")
|
||||
end
|
||||
|
||||
self.init_basic_commissioning()
|
||||
|
@ -118,7 +118,7 @@ class Matter_Device
|
|||
#############################################################
|
||||
# Start Basic Commissioning Window
|
||||
def start_basic_commissioning()
|
||||
self.commissioning_open = tasmota.millis() + 5 * 60 * 1000
|
||||
self.commissioning_open = tasmota.millis() + 10 * 60 * 1000
|
||||
end
|
||||
|
||||
def stop_basic_commissioning()
|
||||
|
@ -537,8 +537,8 @@ class Matter_Device
|
|||
else
|
||||
tasmota.add_rule("Wifi#Connected", def ()
|
||||
self._start_mdns_announce(false)
|
||||
tasmota.remove_rule("Wifi#Connected", "matter_device_mdns")
|
||||
end, self)
|
||||
tasmota.remove_rule("Wifi#Connected", "matter_mdns_host")
|
||||
end, "matter_mdns_host")
|
||||
end
|
||||
|
||||
if tasmota.eth()['up']
|
||||
|
@ -546,8 +546,8 @@ class Matter_Device
|
|||
else
|
||||
tasmota.add_rule("Eth#Connected", def ()
|
||||
self._start_mdns_announce(true)
|
||||
tasmota.remove_rule("Eth#Connected", "matter_device_mdns")
|
||||
end, self)
|
||||
tasmota.remove_rule("Eth#Connected", "matter_mdns_host")
|
||||
end, "matter_mdns_host")
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -562,7 +562,7 @@ class Matter_Device
|
|||
mdns.start()
|
||||
|
||||
var services = {
|
||||
"VP":str(self.vendorid) + "+" + str(self.productid),
|
||||
# "VP":str(self.vendorid) + "+" + str(self.productid),
|
||||
"D": self.discriminator,
|
||||
"CM":1, # requires passcode
|
||||
"T":0, # no support for TCP
|
||||
|
@ -575,10 +575,14 @@ class Matter_Device
|
|||
var eth = tasmota.eth()
|
||||
self.hostname_eth = string.replace(eth.find("mac"), ':', '')
|
||||
if !self.ipv4only
|
||||
mdns.add_hostname(self.hostname_eth, eth.find('ip6local',''), eth.find('ip',''), eth.find('ip6',''))
|
||||
# mdns.add_hostname(self.hostname_eth, eth.find('ip6local',''), eth.find('ip',''), eth.find('ip6',''))
|
||||
tasmota.log(string.format("MTR: calling mdns.add_hostname(%s, %s, %s)", self.hostname_eth, eth.find('ip6local',''), eth.find('ip','')), 3)
|
||||
mdns.add_hostname(self.hostname_eth, eth.find('ip6local',''), eth.find('ip',''))
|
||||
else
|
||||
tasmota.log(string.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
|
||||
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), 3)
|
||||
mdns.add_service("_matterc", "_udp", 5540, services, self.commissioning_instance_eth, self.hostname_eth)
|
||||
|
||||
tasmota.log(string.format("MTR: starting mDNS on %s '%s' ptr to `%s.local`", is_eth ? "eth" : "wifi",
|
||||
|
@ -603,9 +607,13 @@ class Matter_Device
|
|||
self.hostname_wifi = string.replace(wifi.find("mac"), ':', '')
|
||||
if !self.ipv4only
|
||||
mdns.add_hostname(self.hostname_wifi, wifi.find('ip6local',''), wifi.find('ip',''), wifi.find('ip6',''))
|
||||
tasmota.log(string.format("MTR: calling mdns.add_hostname(%s, %s, %s)", self.hostname_wifi, wifi.find('ip6local',''), wifi.find('ip','')), 3)
|
||||
mdns.add_hostname(self.hostname_wifi, wifi.find('ip6local',''), wifi.find('ip',''))
|
||||
else
|
||||
tasmota.log(string.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
|
||||
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), 3)
|
||||
mdns.add_service("_matterc", "_udp", 5540, services, self.commissioning_instance_wifi, self.hostname_wifi)
|
||||
|
||||
tasmota.log(string.format("MTR: starting mDNS on %s '%s' ptr to `%s.local`", is_eth ? "eth" : "wifi",
|
||||
|
@ -619,9 +627,9 @@ class Matter_Device
|
|||
subtype = "_S" + str((self.discriminator & 0xF00) >> 8)
|
||||
tasmota.log("MTR: adding subtype: "+subtype, 3)
|
||||
mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi, subtype)
|
||||
subtype = "_V" + str(self.vendorid)
|
||||
tasmota.log("MTR: adding subtype: "+subtype, 3)
|
||||
mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi, subtype)
|
||||
# subtype = "_V" + str(self.vendorid)
|
||||
# tasmota.log("MTR: adding subtype: "+subtype, 3)
|
||||
# mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi, subtype)
|
||||
subtype = "_CM1"
|
||||
tasmota.log("MTR: adding subtype: "+subtype, 3)
|
||||
mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi, subtype)
|
||||
|
@ -636,7 +644,7 @@ class Matter_Device
|
|||
#############################################################
|
||||
# Start UDP mDNS announcements for commissioning for all persisted sessions
|
||||
def mdns_announce_op_discovery_all_fabrics()
|
||||
for fabric: self.sessions.fabrics
|
||||
for fabric: self.sessions.active_fabrics()
|
||||
if fabric.get_device_id() && fabric.get_fabric_id()
|
||||
self.mdns_announce_op_discovery(fabric)
|
||||
end
|
||||
|
|
|
@ -153,35 +153,44 @@ class Matter_Plugin_Root : Matter_Plugin
|
|||
|
||||
if attribute == 0x0000 # ---------- NOCs / list[NOCStruct] ----------
|
||||
var nocl = TLV.Matter_TLV_array() # NOCs, p.711
|
||||
for loc_session: self.device.sessions.sessions_active()
|
||||
for loc_fabric: self.device.sessions.active_fabrics()
|
||||
var nocs = nocl.add_struct(nil)
|
||||
nocs.add_TLV(1, TLV.B2, loc_session.get_noc()) # NOC
|
||||
nocs.add_TLV(2, TLV.B2, loc_session.get_icac()) # ICAC
|
||||
nocs.add_TLV(1, TLV.B2, loc_fabric.get_noc()) # NOC
|
||||
nocs.add_TLV(2, TLV.B2, loc_fabric.get_icac()) # ICAC
|
||||
end
|
||||
return nocl
|
||||
elif attribute == 0x0001 # ---------- Fabrics / list[FabricDescriptorStruct] ----------
|
||||
var fabrics = TLV.Matter_TLV_array() # Fabrics, p.711
|
||||
for loc_session: self.device.sessions.sessions_active()
|
||||
var root_ca_tlv = TLV.parse(loc_session.get_ca())
|
||||
for loc_fabric: self.device.sessions.active_fabrics()
|
||||
var root_ca_tlv = TLV.parse(loc_fabric.get_ca())
|
||||
var fab = fabrics.add_struct(nil) # encoding see p.303
|
||||
fab.add_TLV(1, TLV.B2, root_ca_tlv.findsubval(9)) # RootPublicKey
|
||||
fab.add_TLV(2, TLV.U2, loc_session.get_admin_vendor()) # VendorID
|
||||
fab.add_TLV(3, TLV.U8, loc_session.get_fabric_compressed()) # FabricID
|
||||
fab.add_TLV(4, TLV.U8, loc_session.get_device_id()) # NodeID
|
||||
fab.add_TLV(5, TLV.UTF1, loc_session.get_fabric_label()) # Label
|
||||
fab.add_TLV(2, TLV.U2, loc_fabric.get_admin_vendor()) # VendorID
|
||||
fab.add_TLV(3, TLV.U8, loc_fabric.get_fabric_compressed()) # FabricID
|
||||
fab.add_TLV(4, TLV.U8, loc_fabric.get_device_id()) # NodeID
|
||||
fab.add_TLV(5, TLV.UTF1, loc_fabric.get_fabric_label()) # Label
|
||||
end
|
||||
return fabrics
|
||||
elif attribute == 0x0002 # ---------- SupportedFabrics / u1 ----------
|
||||
return TLV.create_TLV(TLV.U1, matter.Fabric._MAX_CASE) # Max 5 fabrics
|
||||
elif attribute == 0x0003 # ---------- CommissionedFabrics / u1 ----------
|
||||
var sessions_active = self.device.sessions.sessions_active()
|
||||
return TLV.create_TLV(TLV.U1, size(sessions_active)) # number of active sessions
|
||||
var fabric_actice = self.device.sessions.count_active_fabrics()
|
||||
return TLV.create_TLV(TLV.U1, fabric_actice) # number of active fabrics
|
||||
elif attribute == 0x0004 # ---------- TrustedRootCertificates / list[octstr] ----------
|
||||
# TODO
|
||||
elif attribute == 0x0005 # ---------- Current FabricIndex / u1 ----------
|
||||
var sessions_active = self.device.sessions.sessions_active()
|
||||
var fabric_index = sessions_active.find(session)
|
||||
if fabric_index == nil fabric_index = -1 end
|
||||
var fabric_active = session._fabric
|
||||
var fabric_index = 0
|
||||
var found = false
|
||||
for fab: self.device.sessions.active_fabrics()
|
||||
if fab == fabric_active
|
||||
found = true
|
||||
break
|
||||
else
|
||||
fabric_index += 1
|
||||
end
|
||||
end
|
||||
if !found fabric_index = -1 end
|
||||
return TLV.create_TLV(TLV.U1, fabric_index + 1) # number of active sessions
|
||||
end
|
||||
|
||||
|
@ -447,6 +456,8 @@ class Matter_Plugin_Root : Matter_Plugin
|
|||
elif command == 0x0006 # ---------- AddNOC ----------
|
||||
var NOCValue = val.findsubval(0) # octstr max 400
|
||||
var ICACValue = val.findsubval(1) # octstr max 400
|
||||
# Apple sends an empty ICAC instead of a missing attribute, fix this
|
||||
if size(ICACValue) == 0 ICACValue = nil end
|
||||
var IpkValue = val.findsubval(2) # octstr max 16
|
||||
var CaseAdminSubject = val.findsubval(3)
|
||||
var AdminVendorId = val.findsubval(4)
|
||||
|
@ -470,8 +481,8 @@ class Matter_Plugin_Root : Matter_Plugin
|
|||
return false
|
||||
end
|
||||
# convert fo bytes(8)
|
||||
if type(fabric_id) == 'int' fabric_id = int64(fabric_id).tobytes() else fabric_id = fabric_id.tobytes() end
|
||||
if type(deviceid) == 'int' deviceid = int64(deviceid).tobytes() else deviceid = deviceid.tobytes() end
|
||||
if type(fabric_id) == 'int' fabric_id = int64.fromu32(fabric_id).tobytes() else fabric_id = fabric_id.tobytes() end
|
||||
if type(deviceid) == 'int' deviceid = int64.fromu32(deviceid).tobytes() else deviceid = deviceid.tobytes() end
|
||||
|
||||
var root_ca = matter.TLV.parse(session.get_ca()).findsubval(9) # extract public key from ca
|
||||
root_ca = root_ca[1..] # remove first byte as per Matter specification
|
||||
|
|
|
@ -81,6 +81,7 @@ class Matter_Fabric : Matter_Expirable
|
|||
def get_fabric_label() return self.fabric_label end
|
||||
def get_admin_subject() return self.admin_subject end
|
||||
def get_admin_vendor() return self.admin_vendor end
|
||||
def get_ca() return self.root_ca_certificate end
|
||||
|
||||
#############################################################
|
||||
# Operational Group Key Derivation, 4.15.2, p.182
|
||||
|
@ -601,12 +602,19 @@ class Matter_Session_Store
|
|||
end
|
||||
end
|
||||
|
||||
#############################################################
|
||||
# Returns an iterator on active fabrics
|
||||
def active_fabrics()
|
||||
self.remove_expired() # clean before
|
||||
return self.fabrics.persistables()
|
||||
end
|
||||
|
||||
#############################################################
|
||||
# Count active fabrics
|
||||
#
|
||||
# Count the number of commissionned fabrics, i.e. persisted
|
||||
def count_active_fabrics(f)
|
||||
self.remove_expired() # clean before saving
|
||||
def count_active_fabrics()
|
||||
self.remove_expired() # clean before
|
||||
return self.fabrics.count_persistables()
|
||||
end
|
||||
|
||||
|
|
|
@ -141,7 +141,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(string.format("MTR: UDP received from [%s]:%i", from_addr, from_port), 3)
|
||||
if self.dispatch_cb
|
||||
self.dispatch_cb(packet, from_addr, from_port)
|
||||
end
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -231,7 +231,7 @@ be_local_closure(Matter_Device_start_operational_discovery, /* name */
|
|||
********************************************************************/
|
||||
be_local_closure(Matter_Device__start_mdns_announce, /* name */
|
||||
be_nested_proto(
|
||||
15, /* nstack */
|
||||
17, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
|
@ -243,368 +243,435 @@ be_local_closure(Matter_Device__start_mdns_announce, /* name */
|
|||
/* K0 */ be_nested_str_weak(mdns),
|
||||
/* K1 */ be_nested_str_weak(string),
|
||||
/* K2 */ be_nested_str_weak(start),
|
||||
/* K3 */ be_nested_str_weak(VP),
|
||||
/* K4 */ be_nested_str_weak(vendorid),
|
||||
/* K5 */ be_nested_str_weak(_X2B),
|
||||
/* K6 */ be_nested_str_weak(productid),
|
||||
/* K7 */ be_nested_str_weak(D),
|
||||
/* K8 */ be_nested_str_weak(discriminator),
|
||||
/* K9 */ be_nested_str_weak(CM),
|
||||
/* K10 */ be_const_int(1),
|
||||
/* K11 */ be_nested_str_weak(T),
|
||||
/* K12 */ be_const_int(0),
|
||||
/* K13 */ be_nested_str_weak(SII),
|
||||
/* K14 */ be_nested_str_weak(SAI),
|
||||
/* K15 */ be_nested_str_weak(tasmota),
|
||||
/* K16 */ be_nested_str_weak(eth),
|
||||
/* K17 */ be_nested_str_weak(hostname_eth),
|
||||
/* K18 */ be_nested_str_weak(replace),
|
||||
/* K19 */ be_nested_str_weak(find),
|
||||
/* K20 */ be_nested_str_weak(mac),
|
||||
/* K21 */ be_nested_str_weak(_X3A),
|
||||
/* K22 */ be_nested_str_weak(),
|
||||
/* K23 */ be_nested_str_weak(ipv4only),
|
||||
/* K24 */ be_nested_str_weak(add_hostname),
|
||||
/* K25 */ be_nested_str_weak(ip6local),
|
||||
/* K26 */ be_nested_str_weak(ip),
|
||||
/* K27 */ be_nested_str_weak(ip6),
|
||||
/* K28 */ be_nested_str_weak(add_service),
|
||||
/* K3 */ be_nested_str_weak(D),
|
||||
/* K4 */ be_nested_str_weak(discriminator),
|
||||
/* K5 */ be_nested_str_weak(CM),
|
||||
/* K6 */ be_const_int(1),
|
||||
/* K7 */ be_nested_str_weak(T),
|
||||
/* K8 */ be_const_int(0),
|
||||
/* K9 */ be_nested_str_weak(SII),
|
||||
/* K10 */ be_nested_str_weak(SAI),
|
||||
/* K11 */ be_nested_str_weak(tasmota),
|
||||
/* K12 */ be_nested_str_weak(eth),
|
||||
/* K13 */ be_nested_str_weak(hostname_eth),
|
||||
/* K14 */ be_nested_str_weak(replace),
|
||||
/* K15 */ be_nested_str_weak(find),
|
||||
/* K16 */ be_nested_str_weak(mac),
|
||||
/* K17 */ be_nested_str_weak(_X3A),
|
||||
/* K18 */ be_nested_str_weak(),
|
||||
/* K19 */ be_nested_str_weak(ipv4only),
|
||||
/* K20 */ be_nested_str_weak(log),
|
||||
/* K21 */ be_nested_str_weak(format),
|
||||
/* K22 */ be_nested_str_weak(MTR_X3A_X20calling_X20mdns_X2Eadd_hostname_X28_X25s_X2C_X20_X25s_X2C_X20_X25s_X29),
|
||||
/* K23 */ be_nested_str_weak(ip6local),
|
||||
/* K24 */ be_nested_str_weak(ip),
|
||||
/* K25 */ be_const_int(3),
|
||||
/* K26 */ be_nested_str_weak(add_hostname),
|
||||
/* K27 */ be_nested_str_weak(MTR_X3A_X20calling_X20mdns_X2Eadd_hostname_X28_X25s_X2C_X20_X25s_X29),
|
||||
/* K28 */ be_nested_str_weak(MTR_X3A_X20calling_X20mdns_X2Eadd_service_X28_X25s_X2C_X20_X25s_X2C_X20_X25i_X2C_X20_X25s_X2C_X20_X25s_X2C_X20_X25s_X29),
|
||||
/* K29 */ be_nested_str_weak(_matterc),
|
||||
/* K30 */ be_nested_str_weak(_udp),
|
||||
/* K31 */ be_nested_str_weak(commissioning_instance_eth),
|
||||
/* K32 */ be_nested_str_weak(log),
|
||||
/* K33 */ be_nested_str_weak(format),
|
||||
/* K34 */ be_nested_str_weak(MTR_X3A_X20starting_X20mDNS_X20on_X20_X25s_X20_X27_X25s_X27_X20ptr_X20to_X20_X60_X25s_X2Elocal_X60),
|
||||
/* K35 */ be_nested_str_weak(wifi),
|
||||
/* K36 */ be_nested_str_weak(commissioning_instance_wifi),
|
||||
/* K37 */ be_nested_str_weak(hostname_wifi),
|
||||
/* K38 */ be_const_int(2),
|
||||
/* K39 */ be_nested_str_weak(_L),
|
||||
/* K40 */ be_nested_str_weak(MTR_X3A_X20adding_X20subtype_X3A_X20),
|
||||
/* K41 */ be_const_int(3),
|
||||
/* K42 */ be_nested_str_weak(add_subtype),
|
||||
/* K43 */ be_nested_str_weak(_S),
|
||||
/* K44 */ be_nested_str_weak(_V),
|
||||
/* K45 */ be_nested_str_weak(_CM1),
|
||||
/* K32 */ be_nested_str_weak(add_service),
|
||||
/* K33 */ be_nested_str_weak(MTR_X3A_X20starting_X20mDNS_X20on_X20_X25s_X20_X27_X25s_X27_X20ptr_X20to_X20_X60_X25s_X2Elocal_X60),
|
||||
/* K34 */ be_nested_str_weak(wifi),
|
||||
/* K35 */ be_nested_str_weak(commissioning_instance_wifi),
|
||||
/* K36 */ be_nested_str_weak(hostname_wifi),
|
||||
/* K37 */ be_const_int(2),
|
||||
/* K38 */ be_nested_str_weak(_L),
|
||||
/* K39 */ be_nested_str_weak(MTR_X3A_X20adding_X20subtype_X3A_X20),
|
||||
/* K40 */ be_nested_str_weak(add_subtype),
|
||||
/* K41 */ be_nested_str_weak(_S),
|
||||
/* K42 */ be_nested_str_weak(_V),
|
||||
/* K43 */ be_nested_str_weak(vendorid),
|
||||
/* K44 */ be_nested_str_weak(_CM1),
|
||||
/* K45 */ be_nested_str_weak(ip6),
|
||||
/* K46 */ be_nested_str_weak(MTR_X3A_X20Exception),
|
||||
/* K47 */ be_nested_str_weak(_X7C),
|
||||
/* K48 */ be_nested_str_weak(mdns_announce_op_discovery_all_fabrics),
|
||||
}),
|
||||
be_str_weak(_start_mdns_announce),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[312]) { /* code */
|
||||
( &(const binstruction[379]) { /* code */
|
||||
0xA40A0000, // 0000 IMPORT R2 K0
|
||||
0xA40E0200, // 0001 IMPORT R3 K1
|
||||
0x8C100502, // 0002 GETMET R4 R2 K2
|
||||
0x7C100200, // 0003 CALL R4 1
|
||||
0x60100013, // 0004 GETGBL R4 G19
|
||||
0x7C100000, // 0005 CALL R4 0
|
||||
0x60140008, // 0006 GETGBL R5 G8
|
||||
0x88180104, // 0007 GETMBR R6 R0 K4
|
||||
0x7C140200, // 0008 CALL R5 1
|
||||
0x00140B05, // 0009 ADD R5 R5 K5
|
||||
0x60180008, // 000A GETGBL R6 G8
|
||||
0x881C0106, // 000B GETMBR R7 R0 K6
|
||||
0x7C180200, // 000C CALL R6 1
|
||||
0x00140A06, // 000D ADD R5 R5 R6
|
||||
0x98120605, // 000E SETIDX R4 K3 R5
|
||||
0x88140108, // 000F GETMBR R5 R0 K8
|
||||
0x98120E05, // 0010 SETIDX R4 K7 R5
|
||||
0x9812130A, // 0011 SETIDX R4 K9 K10
|
||||
0x9812170C, // 0012 SETIDX R4 K11 K12
|
||||
0x54161387, // 0013 LDINT R5 5000
|
||||
0x98121A05, // 0014 SETIDX R4 K13 R5
|
||||
0x5416012B, // 0015 LDINT R5 300
|
||||
0x98121C05, // 0016 SETIDX R4 K14 R5
|
||||
0xA802010B, // 0017 EXBLK 0 #0124
|
||||
0x78060084, // 0018 JMPF R1 #009E
|
||||
0xB8161E00, // 0019 GETNGBL R5 K15
|
||||
0x8C140B10, // 001A GETMET R5 R5 K16
|
||||
0x7C140200, // 001B CALL R5 1
|
||||
0x8C180712, // 001C GETMET R6 R3 K18
|
||||
0x8C200B13, // 001D GETMET R8 R5 K19
|
||||
0x58280014, // 001E LDCONST R10 K20
|
||||
0x7C200400, // 001F CALL R8 2
|
||||
0x58240015, // 0020 LDCONST R9 K21
|
||||
0x58280016, // 0021 LDCONST R10 K22
|
||||
0x7C180800, // 0022 CALL R6 4
|
||||
0x90022206, // 0023 SETMBR R0 K17 R6
|
||||
0x88180117, // 0024 GETMBR R6 R0 K23
|
||||
0x741A000F, // 0025 JMPT R6 #0036
|
||||
0x8C180518, // 0026 GETMET R6 R2 K24
|
||||
0x88200111, // 0027 GETMBR R8 R0 K17
|
||||
0x8C240B13, // 0028 GETMET R9 R5 K19
|
||||
0x582C0019, // 0029 LDCONST R11 K25
|
||||
0x58300016, // 002A LDCONST R12 K22
|
||||
0x7C240600, // 002B CALL R9 3
|
||||
0x8C280B13, // 002C GETMET R10 R5 K19
|
||||
0x5830001A, // 002D LDCONST R12 K26
|
||||
0x58340016, // 002E LDCONST R13 K22
|
||||
0x7C280600, // 002F CALL R10 3
|
||||
0x8C2C0B13, // 0030 GETMET R11 R5 K19
|
||||
0x5834001B, // 0031 LDCONST R13 K27
|
||||
0x58380016, // 0032 LDCONST R14 K22
|
||||
0x7C2C0600, // 0033 CALL R11 3
|
||||
0x7C180A00, // 0034 CALL R6 5
|
||||
0x70020006, // 0035 JMP #003D
|
||||
0x8C180518, // 0036 GETMET R6 R2 K24
|
||||
0x88200111, // 0037 GETMBR R8 R0 K17
|
||||
0x8C240B13, // 0038 GETMET R9 R5 K19
|
||||
0x582C001A, // 0039 LDCONST R11 K26
|
||||
0x58300016, // 003A LDCONST R12 K22
|
||||
0x7C240600, // 003B CALL R9 3
|
||||
0x7C180600, // 003C CALL R6 3
|
||||
0x8C18051C, // 003D GETMET R6 R2 K28
|
||||
0x5820001D, // 003E LDCONST R8 K29
|
||||
0x5824001E, // 003F LDCONST R9 K30
|
||||
0x542A15A3, // 0040 LDINT R10 5540
|
||||
0x5C2C0800, // 0041 MOVE R11 R4
|
||||
0x8830011F, // 0042 GETMBR R12 R0 K31
|
||||
0x88340111, // 0043 GETMBR R13 R0 K17
|
||||
0x7C180E00, // 0044 CALL R6 7
|
||||
0xB81A1E00, // 0045 GETNGBL R6 K15
|
||||
0x8C180D20, // 0046 GETMET R6 R6 K32
|
||||
0x8C200721, // 0047 GETMET R8 R3 K33
|
||||
0x58280022, // 0048 LDCONST R10 K34
|
||||
0x78060001, // 0049 JMPF R1 #004C
|
||||
0x582C0010, // 004A LDCONST R11 K16
|
||||
0x70020000, // 004B JMP #004D
|
||||
0x582C0023, // 004C LDCONST R11 K35
|
||||
0x78060001, // 004D JMPF R1 #0050
|
||||
0x8830011F, // 004E GETMBR R12 R0 K31
|
||||
0x70020000, // 004F JMP #0051
|
||||
0x88300124, // 0050 GETMBR R12 R0 K36
|
||||
0x78060001, // 0051 JMPF R1 #0054
|
||||
0x88340111, // 0052 GETMBR R13 R0 K17
|
||||
0x70020000, // 0053 JMP #0055
|
||||
0x88340125, // 0054 GETMBR R13 R0 K37
|
||||
0x7C200A00, // 0055 CALL R8 5
|
||||
0x58240026, // 0056 LDCONST R9 K38
|
||||
0x7C180600, // 0057 CALL R6 3
|
||||
0x60180008, // 0058 GETGBL R6 G8
|
||||
0x881C0108, // 0059 GETMBR R7 R0 K8
|
||||
0x54220FFE, // 005A LDINT R8 4095
|
||||
0x2C1C0E08, // 005B AND R7 R7 R8
|
||||
0x7C180200, // 005C CALL R6 1
|
||||
0x001A4E06, // 005D ADD R6 K39 R6
|
||||
0xB81E1E00, // 005E GETNGBL R7 K15
|
||||
0x8C1C0F20, // 005F GETMET R7 R7 K32
|
||||
0x00265006, // 0060 ADD R9 K40 R6
|
||||
0x58280029, // 0061 LDCONST R10 K41
|
||||
0x7C1C0600, // 0062 CALL R7 3
|
||||
0x8C1C052A, // 0063 GETMET R7 R2 K42
|
||||
0x5824001D, // 0064 LDCONST R9 K29
|
||||
0x5828001E, // 0065 LDCONST R10 K30
|
||||
0x882C011F, // 0066 GETMBR R11 R0 K31
|
||||
0x88300111, // 0067 GETMBR R12 R0 K17
|
||||
0x5C340C00, // 0068 MOVE R13 R6
|
||||
0x7C1C0C00, // 0069 CALL R7 6
|
||||
0x601C0008, // 006A GETGBL R7 G8
|
||||
0x88200108, // 006B GETMBR R8 R0 K8
|
||||
0x54260EFF, // 006C LDINT R9 3840
|
||||
0x2C201009, // 006D AND R8 R8 R9
|
||||
0x54260007, // 006E LDINT R9 8
|
||||
0x3C201009, // 006F SHR R8 R8 R9
|
||||
0x7C1C0200, // 0070 CALL R7 1
|
||||
0x001E5607, // 0071 ADD R7 K43 R7
|
||||
0x5C180E00, // 0072 MOVE R6 R7
|
||||
0xB81E1E00, // 0073 GETNGBL R7 K15
|
||||
0x8C1C0F20, // 0074 GETMET R7 R7 K32
|
||||
0x00265006, // 0075 ADD R9 K40 R6
|
||||
0x58280029, // 0076 LDCONST R10 K41
|
||||
0x7C1C0600, // 0077 CALL R7 3
|
||||
0x8C1C052A, // 0078 GETMET R7 R2 K42
|
||||
0x5824001D, // 0079 LDCONST R9 K29
|
||||
0x5828001E, // 007A LDCONST R10 K30
|
||||
0x882C011F, // 007B GETMBR R11 R0 K31
|
||||
0x88300111, // 007C GETMBR R12 R0 K17
|
||||
0x5C340C00, // 007D MOVE R13 R6
|
||||
0x7C1C0C00, // 007E CALL R7 6
|
||||
0x601C0008, // 007F GETGBL R7 G8
|
||||
0x88200104, // 0080 GETMBR R8 R0 K4
|
||||
0x7C1C0200, // 0081 CALL R7 1
|
||||
0x001E5807, // 0082 ADD R7 K44 R7
|
||||
0x5C180E00, // 0083 MOVE R6 R7
|
||||
0xB81E1E00, // 0084 GETNGBL R7 K15
|
||||
0x8C1C0F20, // 0085 GETMET R7 R7 K32
|
||||
0x00265006, // 0086 ADD R9 K40 R6
|
||||
0x58280029, // 0087 LDCONST R10 K41
|
||||
0x7C1C0600, // 0088 CALL R7 3
|
||||
0x8C1C052A, // 0089 GETMET R7 R2 K42
|
||||
0x5824001D, // 008A LDCONST R9 K29
|
||||
0x5828001E, // 008B LDCONST R10 K30
|
||||
0x882C011F, // 008C GETMBR R11 R0 K31
|
||||
0x88300111, // 008D GETMBR R12 R0 K17
|
||||
0x5C340C00, // 008E MOVE R13 R6
|
||||
0x7C1C0C00, // 008F CALL R7 6
|
||||
0x5818002D, // 0090 LDCONST R6 K45
|
||||
0xB81E1E00, // 0091 GETNGBL R7 K15
|
||||
0x8C1C0F20, // 0092 GETMET R7 R7 K32
|
||||
0x00265006, // 0093 ADD R9 K40 R6
|
||||
0x58280029, // 0094 LDCONST R10 K41
|
||||
0x88140104, // 0006 GETMBR R5 R0 K4
|
||||
0x98120605, // 0007 SETIDX R4 K3 R5
|
||||
0x98120B06, // 0008 SETIDX R4 K5 K6
|
||||
0x98120F08, // 0009 SETIDX R4 K7 K8
|
||||
0x54161387, // 000A LDINT R5 5000
|
||||
0x98121205, // 000B SETIDX R4 K9 R5
|
||||
0x5416012B, // 000C LDINT R5 300
|
||||
0x98121405, // 000D SETIDX R4 K10 R5
|
||||
0xA8020157, // 000E EXBLK 0 #0167
|
||||
0x780600AB, // 000F JMPF R1 #00BC
|
||||
0xB8161600, // 0010 GETNGBL R5 K11
|
||||
0x8C140B0C, // 0011 GETMET R5 R5 K12
|
||||
0x7C140200, // 0012 CALL R5 1
|
||||
0x8C18070E, // 0013 GETMET R6 R3 K14
|
||||
0x8C200B0F, // 0014 GETMET R8 R5 K15
|
||||
0x58280010, // 0015 LDCONST R10 K16
|
||||
0x7C200400, // 0016 CALL R8 2
|
||||
0x58240011, // 0017 LDCONST R9 K17
|
||||
0x58280012, // 0018 LDCONST R10 K18
|
||||
0x7C180800, // 0019 CALL R6 4
|
||||
0x90021A06, // 001A SETMBR R0 K13 R6
|
||||
0x88180113, // 001B GETMBR R6 R0 K19
|
||||
0x741A001B, // 001C JMPT R6 #0039
|
||||
0xB81A1600, // 001D GETNGBL R6 K11
|
||||
0x8C180D14, // 001E GETMET R6 R6 K20
|
||||
0x8C200715, // 001F GETMET R8 R3 K21
|
||||
0x58280016, // 0020 LDCONST R10 K22
|
||||
0x882C010D, // 0021 GETMBR R11 R0 K13
|
||||
0x8C300B0F, // 0022 GETMET R12 R5 K15
|
||||
0x58380017, // 0023 LDCONST R14 K23
|
||||
0x583C0012, // 0024 LDCONST R15 K18
|
||||
0x7C300600, // 0025 CALL R12 3
|
||||
0x8C340B0F, // 0026 GETMET R13 R5 K15
|
||||
0x583C0018, // 0027 LDCONST R15 K24
|
||||
0x58400012, // 0028 LDCONST R16 K18
|
||||
0x7C340600, // 0029 CALL R13 3
|
||||
0x7C200A00, // 002A CALL R8 5
|
||||
0x58240019, // 002B LDCONST R9 K25
|
||||
0x7C180600, // 002C CALL R6 3
|
||||
0x8C18051A, // 002D GETMET R6 R2 K26
|
||||
0x8820010D, // 002E GETMBR R8 R0 K13
|
||||
0x8C240B0F, // 002F GETMET R9 R5 K15
|
||||
0x582C0017, // 0030 LDCONST R11 K23
|
||||
0x58300012, // 0031 LDCONST R12 K18
|
||||
0x7C240600, // 0032 CALL R9 3
|
||||
0x8C280B0F, // 0033 GETMET R10 R5 K15
|
||||
0x58300018, // 0034 LDCONST R12 K24
|
||||
0x58340012, // 0035 LDCONST R13 K18
|
||||
0x7C280600, // 0036 CALL R10 3
|
||||
0x7C180800, // 0037 CALL R6 4
|
||||
0x70020012, // 0038 JMP #004C
|
||||
0xB81A1600, // 0039 GETNGBL R6 K11
|
||||
0x8C180D14, // 003A GETMET R6 R6 K20
|
||||
0x8C200715, // 003B GETMET R8 R3 K21
|
||||
0x5828001B, // 003C LDCONST R10 K27
|
||||
0x882C010D, // 003D GETMBR R11 R0 K13
|
||||
0x8C300B0F, // 003E GETMET R12 R5 K15
|
||||
0x58380018, // 003F LDCONST R14 K24
|
||||
0x583C0012, // 0040 LDCONST R15 K18
|
||||
0x7C300600, // 0041 CALL R12 3
|
||||
0x7C200800, // 0042 CALL R8 4
|
||||
0x58240019, // 0043 LDCONST R9 K25
|
||||
0x7C180600, // 0044 CALL R6 3
|
||||
0x8C18051A, // 0045 GETMET R6 R2 K26
|
||||
0x8820010D, // 0046 GETMBR R8 R0 K13
|
||||
0x8C240B0F, // 0047 GETMET R9 R5 K15
|
||||
0x582C0018, // 0048 LDCONST R11 K24
|
||||
0x58300012, // 0049 LDCONST R12 K18
|
||||
0x7C240600, // 004A CALL R9 3
|
||||
0x7C180600, // 004B CALL R6 3
|
||||
0xB81A1600, // 004C GETNGBL R6 K11
|
||||
0x8C180D14, // 004D GETMET R6 R6 K20
|
||||
0x8C200715, // 004E GETMET R8 R3 K21
|
||||
0x5828001C, // 004F LDCONST R10 K28
|
||||
0x582C001D, // 0050 LDCONST R11 K29
|
||||
0x5830001E, // 0051 LDCONST R12 K30
|
||||
0x543615A3, // 0052 LDINT R13 5540
|
||||
0x60380008, // 0053 GETGBL R14 G8
|
||||
0x5C3C0800, // 0054 MOVE R15 R4
|
||||
0x7C380200, // 0055 CALL R14 1
|
||||
0x883C011F, // 0056 GETMBR R15 R0 K31
|
||||
0x8840010D, // 0057 GETMBR R16 R0 K13
|
||||
0x7C201000, // 0058 CALL R8 8
|
||||
0x58240019, // 0059 LDCONST R9 K25
|
||||
0x7C180600, // 005A CALL R6 3
|
||||
0x8C180520, // 005B GETMET R6 R2 K32
|
||||
0x5820001D, // 005C LDCONST R8 K29
|
||||
0x5824001E, // 005D LDCONST R9 K30
|
||||
0x542A15A3, // 005E LDINT R10 5540
|
||||
0x5C2C0800, // 005F MOVE R11 R4
|
||||
0x8830011F, // 0060 GETMBR R12 R0 K31
|
||||
0x8834010D, // 0061 GETMBR R13 R0 K13
|
||||
0x7C180E00, // 0062 CALL R6 7
|
||||
0xB81A1600, // 0063 GETNGBL R6 K11
|
||||
0x8C180D14, // 0064 GETMET R6 R6 K20
|
||||
0x8C200715, // 0065 GETMET R8 R3 K21
|
||||
0x58280021, // 0066 LDCONST R10 K33
|
||||
0x78060001, // 0067 JMPF R1 #006A
|
||||
0x582C000C, // 0068 LDCONST R11 K12
|
||||
0x70020000, // 0069 JMP #006B
|
||||
0x582C0022, // 006A LDCONST R11 K34
|
||||
0x78060001, // 006B JMPF R1 #006E
|
||||
0x8830011F, // 006C GETMBR R12 R0 K31
|
||||
0x70020000, // 006D JMP #006F
|
||||
0x88300123, // 006E GETMBR R12 R0 K35
|
||||
0x78060001, // 006F JMPF R1 #0072
|
||||
0x8834010D, // 0070 GETMBR R13 R0 K13
|
||||
0x70020000, // 0071 JMP #0073
|
||||
0x88340124, // 0072 GETMBR R13 R0 K36
|
||||
0x7C200A00, // 0073 CALL R8 5
|
||||
0x58240025, // 0074 LDCONST R9 K37
|
||||
0x7C180600, // 0075 CALL R6 3
|
||||
0x60180008, // 0076 GETGBL R6 G8
|
||||
0x881C0104, // 0077 GETMBR R7 R0 K4
|
||||
0x54220FFE, // 0078 LDINT R8 4095
|
||||
0x2C1C0E08, // 0079 AND R7 R7 R8
|
||||
0x7C180200, // 007A CALL R6 1
|
||||
0x001A4C06, // 007B ADD R6 K38 R6
|
||||
0xB81E1600, // 007C GETNGBL R7 K11
|
||||
0x8C1C0F14, // 007D GETMET R7 R7 K20
|
||||
0x00264E06, // 007E ADD R9 K39 R6
|
||||
0x58280019, // 007F LDCONST R10 K25
|
||||
0x7C1C0600, // 0080 CALL R7 3
|
||||
0x8C1C0528, // 0081 GETMET R7 R2 K40
|
||||
0x5824001D, // 0082 LDCONST R9 K29
|
||||
0x5828001E, // 0083 LDCONST R10 K30
|
||||
0x882C011F, // 0084 GETMBR R11 R0 K31
|
||||
0x8830010D, // 0085 GETMBR R12 R0 K13
|
||||
0x5C340C00, // 0086 MOVE R13 R6
|
||||
0x7C1C0C00, // 0087 CALL R7 6
|
||||
0x601C0008, // 0088 GETGBL R7 G8
|
||||
0x88200104, // 0089 GETMBR R8 R0 K4
|
||||
0x54260EFF, // 008A LDINT R9 3840
|
||||
0x2C201009, // 008B AND R8 R8 R9
|
||||
0x54260007, // 008C LDINT R9 8
|
||||
0x3C201009, // 008D SHR R8 R8 R9
|
||||
0x7C1C0200, // 008E CALL R7 1
|
||||
0x001E5207, // 008F ADD R7 K41 R7
|
||||
0x5C180E00, // 0090 MOVE R6 R7
|
||||
0xB81E1600, // 0091 GETNGBL R7 K11
|
||||
0x8C1C0F14, // 0092 GETMET R7 R7 K20
|
||||
0x00264E06, // 0093 ADD R9 K39 R6
|
||||
0x58280019, // 0094 LDCONST R10 K25
|
||||
0x7C1C0600, // 0095 CALL R7 3
|
||||
0x8C1C052A, // 0096 GETMET R7 R2 K42
|
||||
0x8C1C0528, // 0096 GETMET R7 R2 K40
|
||||
0x5824001D, // 0097 LDCONST R9 K29
|
||||
0x5828001E, // 0098 LDCONST R10 K30
|
||||
0x882C011F, // 0099 GETMBR R11 R0 K31
|
||||
0x88300111, // 009A GETMBR R12 R0 K17
|
||||
0x8830010D, // 009A GETMBR R12 R0 K13
|
||||
0x5C340C00, // 009B MOVE R13 R6
|
||||
0x7C1C0C00, // 009C CALL R7 6
|
||||
0x70020083, // 009D JMP #0122
|
||||
0xB8161E00, // 009E GETNGBL R5 K15
|
||||
0x8C140B23, // 009F GETMET R5 R5 K35
|
||||
0x7C140200, // 00A0 CALL R5 1
|
||||
0x8C180712, // 00A1 GETMET R6 R3 K18
|
||||
0x8C200B13, // 00A2 GETMET R8 R5 K19
|
||||
0x58280014, // 00A3 LDCONST R10 K20
|
||||
0x7C200400, // 00A4 CALL R8 2
|
||||
0x58240015, // 00A5 LDCONST R9 K21
|
||||
0x58280016, // 00A6 LDCONST R10 K22
|
||||
0x7C180800, // 00A7 CALL R6 4
|
||||
0x90024A06, // 00A8 SETMBR R0 K37 R6
|
||||
0x88180117, // 00A9 GETMBR R6 R0 K23
|
||||
0x741A000F, // 00AA JMPT R6 #00BB
|
||||
0x8C180518, // 00AB GETMET R6 R2 K24
|
||||
0x88200125, // 00AC GETMBR R8 R0 K37
|
||||
0x8C240B13, // 00AD GETMET R9 R5 K19
|
||||
0x582C0019, // 00AE LDCONST R11 K25
|
||||
0x58300016, // 00AF LDCONST R12 K22
|
||||
0x7C240600, // 00B0 CALL R9 3
|
||||
0x8C280B13, // 00B1 GETMET R10 R5 K19
|
||||
0x5830001A, // 00B2 LDCONST R12 K26
|
||||
0x58340016, // 00B3 LDCONST R13 K22
|
||||
0x7C280600, // 00B4 CALL R10 3
|
||||
0x8C2C0B13, // 00B5 GETMET R11 R5 K19
|
||||
0x5834001B, // 00B6 LDCONST R13 K27
|
||||
0x58380016, // 00B7 LDCONST R14 K22
|
||||
0x7C2C0600, // 00B8 CALL R11 3
|
||||
0x7C180A00, // 00B9 CALL R6 5
|
||||
0x70020006, // 00BA JMP #00C2
|
||||
0x8C180518, // 00BB GETMET R6 R2 K24
|
||||
0x88200125, // 00BC GETMBR R8 R0 K37
|
||||
0x8C240B13, // 00BD GETMET R9 R5 K19
|
||||
0x582C001A, // 00BE LDCONST R11 K26
|
||||
0x58300016, // 00BF LDCONST R12 K22
|
||||
0x7C240600, // 00C0 CALL R9 3
|
||||
0x7C180600, // 00C1 CALL R6 3
|
||||
0x8C18051C, // 00C2 GETMET R6 R2 K28
|
||||
0x5820001D, // 00C3 LDCONST R8 K29
|
||||
0x5824001E, // 00C4 LDCONST R9 K30
|
||||
0x542A15A3, // 00C5 LDINT R10 5540
|
||||
0x5C2C0800, // 00C6 MOVE R11 R4
|
||||
0x88300124, // 00C7 GETMBR R12 R0 K36
|
||||
0x88340125, // 00C8 GETMBR R13 R0 K37
|
||||
0x7C180E00, // 00C9 CALL R6 7
|
||||
0xB81A1E00, // 00CA GETNGBL R6 K15
|
||||
0x8C180D20, // 00CB GETMET R6 R6 K32
|
||||
0x8C200721, // 00CC GETMET R8 R3 K33
|
||||
0x58280022, // 00CD LDCONST R10 K34
|
||||
0x78060001, // 00CE JMPF R1 #00D1
|
||||
0x582C0010, // 00CF LDCONST R11 K16
|
||||
0x70020000, // 00D0 JMP #00D2
|
||||
0x582C0023, // 00D1 LDCONST R11 K35
|
||||
0x78060001, // 00D2 JMPF R1 #00D5
|
||||
0x8830011F, // 00D3 GETMBR R12 R0 K31
|
||||
0x70020000, // 00D4 JMP #00D6
|
||||
0x88300124, // 00D5 GETMBR R12 R0 K36
|
||||
0x78060001, // 00D6 JMPF R1 #00D9
|
||||
0x88340111, // 00D7 GETMBR R13 R0 K17
|
||||
0x70020000, // 00D8 JMP #00DA
|
||||
0x88340125, // 00D9 GETMBR R13 R0 K37
|
||||
0x7C200A00, // 00DA CALL R8 5
|
||||
0x58240026, // 00DB LDCONST R9 K38
|
||||
0x7C180600, // 00DC CALL R6 3
|
||||
0x60180008, // 00DD GETGBL R6 G8
|
||||
0x881C0108, // 00DE GETMBR R7 R0 K8
|
||||
0x54220FFE, // 00DF LDINT R8 4095
|
||||
0x2C1C0E08, // 00E0 AND R7 R7 R8
|
||||
0x7C180200, // 00E1 CALL R6 1
|
||||
0x001A4E06, // 00E2 ADD R6 K39 R6
|
||||
0xB81E1E00, // 00E3 GETNGBL R7 K15
|
||||
0x8C1C0F20, // 00E4 GETMET R7 R7 K32
|
||||
0x00265006, // 00E5 ADD R9 K40 R6
|
||||
0x58280029, // 00E6 LDCONST R10 K41
|
||||
0x7C1C0600, // 00E7 CALL R7 3
|
||||
0x8C1C052A, // 00E8 GETMET R7 R2 K42
|
||||
0x5824001D, // 00E9 LDCONST R9 K29
|
||||
0x5828001E, // 00EA LDCONST R10 K30
|
||||
0x882C0124, // 00EB GETMBR R11 R0 K36
|
||||
0x88300125, // 00EC GETMBR R12 R0 K37
|
||||
0x5C340C00, // 00ED MOVE R13 R6
|
||||
0x7C1C0C00, // 00EE CALL R7 6
|
||||
0x601C0008, // 00EF GETGBL R7 G8
|
||||
0x88200108, // 00F0 GETMBR R8 R0 K8
|
||||
0x54260EFF, // 00F1 LDINT R9 3840
|
||||
0x2C201009, // 00F2 AND R8 R8 R9
|
||||
0x54260007, // 00F3 LDINT R9 8
|
||||
0x3C201009, // 00F4 SHR R8 R8 R9
|
||||
0x7C1C0200, // 00F5 CALL R7 1
|
||||
0x001E5607, // 00F6 ADD R7 K43 R7
|
||||
0x5C180E00, // 00F7 MOVE R6 R7
|
||||
0xB81E1E00, // 00F8 GETNGBL R7 K15
|
||||
0x8C1C0F20, // 00F9 GETMET R7 R7 K32
|
||||
0x00265006, // 00FA ADD R9 K40 R6
|
||||
0x58280029, // 00FB LDCONST R10 K41
|
||||
0x7C1C0600, // 00FC CALL R7 3
|
||||
0x8C1C052A, // 00FD GETMET R7 R2 K42
|
||||
0x5824001D, // 00FE LDCONST R9 K29
|
||||
0x5828001E, // 00FF LDCONST R10 K30
|
||||
0x882C0124, // 0100 GETMBR R11 R0 K36
|
||||
0x88300125, // 0101 GETMBR R12 R0 K37
|
||||
0x5C340C00, // 0102 MOVE R13 R6
|
||||
0x7C1C0C00, // 0103 CALL R7 6
|
||||
0x601C0008, // 0104 GETGBL R7 G8
|
||||
0x88200104, // 0105 GETMBR R8 R0 K4
|
||||
0x7C1C0200, // 0106 CALL R7 1
|
||||
0x001E5807, // 0107 ADD R7 K44 R7
|
||||
0x5C180E00, // 0108 MOVE R6 R7
|
||||
0xB81E1E00, // 0109 GETNGBL R7 K15
|
||||
0x8C1C0F20, // 010A GETMET R7 R7 K32
|
||||
0x00265006, // 010B ADD R9 K40 R6
|
||||
0x58280029, // 010C LDCONST R10 K41
|
||||
0x7C1C0600, // 010D CALL R7 3
|
||||
0x8C1C052A, // 010E GETMET R7 R2 K42
|
||||
0x5824001D, // 010F LDCONST R9 K29
|
||||
0x5828001E, // 0110 LDCONST R10 K30
|
||||
0x882C0124, // 0111 GETMBR R11 R0 K36
|
||||
0x88300125, // 0112 GETMBR R12 R0 K37
|
||||
0x5C340C00, // 0113 MOVE R13 R6
|
||||
0x7C1C0C00, // 0114 CALL R7 6
|
||||
0x5818002D, // 0115 LDCONST R6 K45
|
||||
0xB81E1E00, // 0116 GETNGBL R7 K15
|
||||
0x8C1C0F20, // 0117 GETMET R7 R7 K32
|
||||
0x00265006, // 0118 ADD R9 K40 R6
|
||||
0x58280029, // 0119 LDCONST R10 K41
|
||||
0x7C1C0600, // 011A CALL R7 3
|
||||
0x8C1C052A, // 011B GETMET R7 R2 K42
|
||||
0x5824001D, // 011C LDCONST R9 K29
|
||||
0x5828001E, // 011D LDCONST R10 K30
|
||||
0x882C0124, // 011E GETMBR R11 R0 K36
|
||||
0x88300125, // 011F GETMBR R12 R0 K37
|
||||
0x5C340C00, // 0120 MOVE R13 R6
|
||||
0x7C1C0C00, // 0121 CALL R7 6
|
||||
0xA8040001, // 0122 EXBLK 1 1
|
||||
0x70020010, // 0123 JMP #0135
|
||||
0xAC140002, // 0124 CATCH R5 0 2
|
||||
0x7002000D, // 0125 JMP #0134
|
||||
0xB81E1E00, // 0126 GETNGBL R7 K15
|
||||
0x8C1C0F20, // 0127 GETMET R7 R7 K32
|
||||
0x60240008, // 0128 GETGBL R9 G8
|
||||
0x5C280A00, // 0129 MOVE R10 R5
|
||||
0x7C240200, // 012A CALL R9 1
|
||||
0x00265C09, // 012B ADD R9 K46 R9
|
||||
0x0024132F, // 012C ADD R9 R9 K47
|
||||
0x60280008, // 012D GETGBL R10 G8
|
||||
0x5C2C0C00, // 012E MOVE R11 R6
|
||||
0x7C280200, // 012F CALL R10 1
|
||||
0x0024120A, // 0130 ADD R9 R9 R10
|
||||
0x58280026, // 0131 LDCONST R10 K38
|
||||
0x7C1C0600, // 0132 CALL R7 3
|
||||
0x70020000, // 0133 JMP #0135
|
||||
0xB0080000, // 0134 RAISE 2 R0 R0
|
||||
0x8C140130, // 0135 GETMET R5 R0 K48
|
||||
0x7C140200, // 0136 CALL R5 1
|
||||
0x80000000, // 0137 RET 0
|
||||
0x601C0008, // 009D GETGBL R7 G8
|
||||
0x8820012B, // 009E GETMBR R8 R0 K43
|
||||
0x7C1C0200, // 009F CALL R7 1
|
||||
0x001E5407, // 00A0 ADD R7 K42 R7
|
||||
0x5C180E00, // 00A1 MOVE R6 R7
|
||||
0xB81E1600, // 00A2 GETNGBL R7 K11
|
||||
0x8C1C0F14, // 00A3 GETMET R7 R7 K20
|
||||
0x00264E06, // 00A4 ADD R9 K39 R6
|
||||
0x58280019, // 00A5 LDCONST R10 K25
|
||||
0x7C1C0600, // 00A6 CALL R7 3
|
||||
0x8C1C0528, // 00A7 GETMET R7 R2 K40
|
||||
0x5824001D, // 00A8 LDCONST R9 K29
|
||||
0x5828001E, // 00A9 LDCONST R10 K30
|
||||
0x882C011F, // 00AA GETMBR R11 R0 K31
|
||||
0x8830010D, // 00AB GETMBR R12 R0 K13
|
||||
0x5C340C00, // 00AC MOVE R13 R6
|
||||
0x7C1C0C00, // 00AD CALL R7 6
|
||||
0x5818002C, // 00AE LDCONST R6 K44
|
||||
0xB81E1600, // 00AF GETNGBL R7 K11
|
||||
0x8C1C0F14, // 00B0 GETMET R7 R7 K20
|
||||
0x00264E06, // 00B1 ADD R9 K39 R6
|
||||
0x58280019, // 00B2 LDCONST R10 K25
|
||||
0x7C1C0600, // 00B3 CALL R7 3
|
||||
0x8C1C0528, // 00B4 GETMET R7 R2 K40
|
||||
0x5824001D, // 00B5 LDCONST R9 K29
|
||||
0x5828001E, // 00B6 LDCONST R10 K30
|
||||
0x882C011F, // 00B7 GETMBR R11 R0 K31
|
||||
0x8830010D, // 00B8 GETMBR R12 R0 K13
|
||||
0x5C340C00, // 00B9 MOVE R13 R6
|
||||
0x7C1C0C00, // 00BA CALL R7 6
|
||||
0x700200A8, // 00BB JMP #0165
|
||||
0xB8161600, // 00BC GETNGBL R5 K11
|
||||
0x8C140B22, // 00BD GETMET R5 R5 K34
|
||||
0x7C140200, // 00BE CALL R5 1
|
||||
0x8C18070E, // 00BF GETMET R6 R3 K14
|
||||
0x8C200B0F, // 00C0 GETMET R8 R5 K15
|
||||
0x58280010, // 00C1 LDCONST R10 K16
|
||||
0x7C200400, // 00C2 CALL R8 2
|
||||
0x58240011, // 00C3 LDCONST R9 K17
|
||||
0x58280012, // 00C4 LDCONST R10 K18
|
||||
0x7C180800, // 00C5 CALL R6 4
|
||||
0x90024806, // 00C6 SETMBR R0 K36 R6
|
||||
0x88180113, // 00C7 GETMBR R6 R0 K19
|
||||
0x741A002A, // 00C8 JMPT R6 #00F4
|
||||
0x8C18051A, // 00C9 GETMET R6 R2 K26
|
||||
0x88200124, // 00CA GETMBR R8 R0 K36
|
||||
0x8C240B0F, // 00CB GETMET R9 R5 K15
|
||||
0x582C0017, // 00CC LDCONST R11 K23
|
||||
0x58300012, // 00CD LDCONST R12 K18
|
||||
0x7C240600, // 00CE CALL R9 3
|
||||
0x8C280B0F, // 00CF GETMET R10 R5 K15
|
||||
0x58300018, // 00D0 LDCONST R12 K24
|
||||
0x58340012, // 00D1 LDCONST R13 K18
|
||||
0x7C280600, // 00D2 CALL R10 3
|
||||
0x8C2C0B0F, // 00D3 GETMET R11 R5 K15
|
||||
0x5834002D, // 00D4 LDCONST R13 K45
|
||||
0x58380012, // 00D5 LDCONST R14 K18
|
||||
0x7C2C0600, // 00D6 CALL R11 3
|
||||
0x7C180A00, // 00D7 CALL R6 5
|
||||
0xB81A1600, // 00D8 GETNGBL R6 K11
|
||||
0x8C180D14, // 00D9 GETMET R6 R6 K20
|
||||
0x8C200715, // 00DA GETMET R8 R3 K21
|
||||
0x58280016, // 00DB LDCONST R10 K22
|
||||
0x882C0124, // 00DC GETMBR R11 R0 K36
|
||||
0x8C300B0F, // 00DD GETMET R12 R5 K15
|
||||
0x58380017, // 00DE LDCONST R14 K23
|
||||
0x583C0012, // 00DF LDCONST R15 K18
|
||||
0x7C300600, // 00E0 CALL R12 3
|
||||
0x8C340B0F, // 00E1 GETMET R13 R5 K15
|
||||
0x583C0018, // 00E2 LDCONST R15 K24
|
||||
0x58400012, // 00E3 LDCONST R16 K18
|
||||
0x7C340600, // 00E4 CALL R13 3
|
||||
0x7C200A00, // 00E5 CALL R8 5
|
||||
0x58240019, // 00E6 LDCONST R9 K25
|
||||
0x7C180600, // 00E7 CALL R6 3
|
||||
0x8C18051A, // 00E8 GETMET R6 R2 K26
|
||||
0x88200124, // 00E9 GETMBR R8 R0 K36
|
||||
0x8C240B0F, // 00EA GETMET R9 R5 K15
|
||||
0x582C0017, // 00EB LDCONST R11 K23
|
||||
0x58300012, // 00EC LDCONST R12 K18
|
||||
0x7C240600, // 00ED CALL R9 3
|
||||
0x8C280B0F, // 00EE GETMET R10 R5 K15
|
||||
0x58300018, // 00EF LDCONST R12 K24
|
||||
0x58340012, // 00F0 LDCONST R13 K18
|
||||
0x7C280600, // 00F1 CALL R10 3
|
||||
0x7C180800, // 00F2 CALL R6 4
|
||||
0x70020012, // 00F3 JMP #0107
|
||||
0xB81A1600, // 00F4 GETNGBL R6 K11
|
||||
0x8C180D14, // 00F5 GETMET R6 R6 K20
|
||||
0x8C200715, // 00F6 GETMET R8 R3 K21
|
||||
0x5828001B, // 00F7 LDCONST R10 K27
|
||||
0x882C010D, // 00F8 GETMBR R11 R0 K13
|
||||
0x8C300B0F, // 00F9 GETMET R12 R5 K15
|
||||
0x58380018, // 00FA LDCONST R14 K24
|
||||
0x583C0012, // 00FB LDCONST R15 K18
|
||||
0x7C300600, // 00FC CALL R12 3
|
||||
0x7C200800, // 00FD CALL R8 4
|
||||
0x58240019, // 00FE LDCONST R9 K25
|
||||
0x7C180600, // 00FF CALL R6 3
|
||||
0x8C18051A, // 0100 GETMET R6 R2 K26
|
||||
0x88200124, // 0101 GETMBR R8 R0 K36
|
||||
0x8C240B0F, // 0102 GETMET R9 R5 K15
|
||||
0x582C0018, // 0103 LDCONST R11 K24
|
||||
0x58300012, // 0104 LDCONST R12 K18
|
||||
0x7C240600, // 0105 CALL R9 3
|
||||
0x7C180600, // 0106 CALL R6 3
|
||||
0xB81A1600, // 0107 GETNGBL R6 K11
|
||||
0x8C180D14, // 0108 GETMET R6 R6 K20
|
||||
0x8C200715, // 0109 GETMET R8 R3 K21
|
||||
0x5828001C, // 010A LDCONST R10 K28
|
||||
0x582C001D, // 010B LDCONST R11 K29
|
||||
0x5830001E, // 010C LDCONST R12 K30
|
||||
0x543615A3, // 010D LDINT R13 5540
|
||||
0x60380008, // 010E GETGBL R14 G8
|
||||
0x5C3C0800, // 010F MOVE R15 R4
|
||||
0x7C380200, // 0110 CALL R14 1
|
||||
0x883C0123, // 0111 GETMBR R15 R0 K35
|
||||
0x88400124, // 0112 GETMBR R16 R0 K36
|
||||
0x7C201000, // 0113 CALL R8 8
|
||||
0x58240019, // 0114 LDCONST R9 K25
|
||||
0x7C180600, // 0115 CALL R6 3
|
||||
0x8C180520, // 0116 GETMET R6 R2 K32
|
||||
0x5820001D, // 0117 LDCONST R8 K29
|
||||
0x5824001E, // 0118 LDCONST R9 K30
|
||||
0x542A15A3, // 0119 LDINT R10 5540
|
||||
0x5C2C0800, // 011A MOVE R11 R4
|
||||
0x88300123, // 011B GETMBR R12 R0 K35
|
||||
0x88340124, // 011C GETMBR R13 R0 K36
|
||||
0x7C180E00, // 011D CALL R6 7
|
||||
0xB81A1600, // 011E GETNGBL R6 K11
|
||||
0x8C180D14, // 011F GETMET R6 R6 K20
|
||||
0x8C200715, // 0120 GETMET R8 R3 K21
|
||||
0x58280021, // 0121 LDCONST R10 K33
|
||||
0x78060001, // 0122 JMPF R1 #0125
|
||||
0x582C000C, // 0123 LDCONST R11 K12
|
||||
0x70020000, // 0124 JMP #0126
|
||||
0x582C0022, // 0125 LDCONST R11 K34
|
||||
0x78060001, // 0126 JMPF R1 #0129
|
||||
0x8830011F, // 0127 GETMBR R12 R0 K31
|
||||
0x70020000, // 0128 JMP #012A
|
||||
0x88300123, // 0129 GETMBR R12 R0 K35
|
||||
0x78060001, // 012A JMPF R1 #012D
|
||||
0x8834010D, // 012B GETMBR R13 R0 K13
|
||||
0x70020000, // 012C JMP #012E
|
||||
0x88340124, // 012D GETMBR R13 R0 K36
|
||||
0x7C200A00, // 012E CALL R8 5
|
||||
0x58240025, // 012F LDCONST R9 K37
|
||||
0x7C180600, // 0130 CALL R6 3
|
||||
0x60180008, // 0131 GETGBL R6 G8
|
||||
0x881C0104, // 0132 GETMBR R7 R0 K4
|
||||
0x54220FFE, // 0133 LDINT R8 4095
|
||||
0x2C1C0E08, // 0134 AND R7 R7 R8
|
||||
0x7C180200, // 0135 CALL R6 1
|
||||
0x001A4C06, // 0136 ADD R6 K38 R6
|
||||
0xB81E1600, // 0137 GETNGBL R7 K11
|
||||
0x8C1C0F14, // 0138 GETMET R7 R7 K20
|
||||
0x00264E06, // 0139 ADD R9 K39 R6
|
||||
0x58280019, // 013A LDCONST R10 K25
|
||||
0x7C1C0600, // 013B CALL R7 3
|
||||
0x8C1C0528, // 013C GETMET R7 R2 K40
|
||||
0x5824001D, // 013D LDCONST R9 K29
|
||||
0x5828001E, // 013E LDCONST R10 K30
|
||||
0x882C0123, // 013F GETMBR R11 R0 K35
|
||||
0x88300124, // 0140 GETMBR R12 R0 K36
|
||||
0x5C340C00, // 0141 MOVE R13 R6
|
||||
0x7C1C0C00, // 0142 CALL R7 6
|
||||
0x601C0008, // 0143 GETGBL R7 G8
|
||||
0x88200104, // 0144 GETMBR R8 R0 K4
|
||||
0x54260EFF, // 0145 LDINT R9 3840
|
||||
0x2C201009, // 0146 AND R8 R8 R9
|
||||
0x54260007, // 0147 LDINT R9 8
|
||||
0x3C201009, // 0148 SHR R8 R8 R9
|
||||
0x7C1C0200, // 0149 CALL R7 1
|
||||
0x001E5207, // 014A ADD R7 K41 R7
|
||||
0x5C180E00, // 014B MOVE R6 R7
|
||||
0xB81E1600, // 014C GETNGBL R7 K11
|
||||
0x8C1C0F14, // 014D GETMET R7 R7 K20
|
||||
0x00264E06, // 014E ADD R9 K39 R6
|
||||
0x58280019, // 014F LDCONST R10 K25
|
||||
0x7C1C0600, // 0150 CALL R7 3
|
||||
0x8C1C0528, // 0151 GETMET R7 R2 K40
|
||||
0x5824001D, // 0152 LDCONST R9 K29
|
||||
0x5828001E, // 0153 LDCONST R10 K30
|
||||
0x882C0123, // 0154 GETMBR R11 R0 K35
|
||||
0x88300124, // 0155 GETMBR R12 R0 K36
|
||||
0x5C340C00, // 0156 MOVE R13 R6
|
||||
0x7C1C0C00, // 0157 CALL R7 6
|
||||
0x5818002C, // 0158 LDCONST R6 K44
|
||||
0xB81E1600, // 0159 GETNGBL R7 K11
|
||||
0x8C1C0F14, // 015A GETMET R7 R7 K20
|
||||
0x00264E06, // 015B ADD R9 K39 R6
|
||||
0x58280019, // 015C LDCONST R10 K25
|
||||
0x7C1C0600, // 015D CALL R7 3
|
||||
0x8C1C0528, // 015E GETMET R7 R2 K40
|
||||
0x5824001D, // 015F LDCONST R9 K29
|
||||
0x5828001E, // 0160 LDCONST R10 K30
|
||||
0x882C0123, // 0161 GETMBR R11 R0 K35
|
||||
0x88300124, // 0162 GETMBR R12 R0 K36
|
||||
0x5C340C00, // 0163 MOVE R13 R6
|
||||
0x7C1C0C00, // 0164 CALL R7 6
|
||||
0xA8040001, // 0165 EXBLK 1 1
|
||||
0x70020010, // 0166 JMP #0178
|
||||
0xAC140002, // 0167 CATCH R5 0 2
|
||||
0x7002000D, // 0168 JMP #0177
|
||||
0xB81E1600, // 0169 GETNGBL R7 K11
|
||||
0x8C1C0F14, // 016A GETMET R7 R7 K20
|
||||
0x60240008, // 016B GETGBL R9 G8
|
||||
0x5C280A00, // 016C MOVE R10 R5
|
||||
0x7C240200, // 016D CALL R9 1
|
||||
0x00265C09, // 016E ADD R9 K46 R9
|
||||
0x0024132F, // 016F ADD R9 R9 K47
|
||||
0x60280008, // 0170 GETGBL R10 G8
|
||||
0x5C2C0C00, // 0171 MOVE R11 R6
|
||||
0x7C280200, // 0172 CALL R10 1
|
||||
0x0024120A, // 0173 ADD R9 R9 R10
|
||||
0x58280025, // 0174 LDCONST R10 K37
|
||||
0x7C1C0600, // 0175 CALL R7 3
|
||||
0x70020000, // 0176 JMP #0178
|
||||
0xB0080000, // 0177 RAISE 2 R0 R0
|
||||
0x8C140130, // 0178 GETMET R5 R0 K48
|
||||
0x7C140200, // 0179 CALL R5 1
|
||||
0x80000000, // 017A RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
|
@ -2070,7 +2137,7 @@ be_local_closure(Matter_Device_start_basic_commissioning, /* name */
|
|||
0xB8060200, // 0000 GETNGBL R1 K1
|
||||
0x8C040302, // 0001 GETMET R1 R1 K2
|
||||
0x7C040200, // 0002 CALL R1 1
|
||||
0x540A0004, // 0003 LDINT R2 5
|
||||
0x540A0009, // 0003 LDINT R2 10
|
||||
0x540E003B, // 0004 LDINT R3 60
|
||||
0x08080403, // 0005 MUL R2 R2 R3
|
||||
0x540E03E7, // 0006 LDINT R3 1000
|
||||
|
@ -2112,7 +2179,7 @@ be_local_closure(Matter_Device_start_mdns_announce_hostnames, /* name */
|
|||
/* K1 */ be_nested_str_weak(tasmota),
|
||||
/* K2 */ be_nested_str_weak(remove_rule),
|
||||
/* K3 */ be_nested_str_weak(Wifi_X23Connected),
|
||||
/* K4 */ be_nested_str_weak(matter_device_mdns),
|
||||
/* K4 */ be_nested_str_weak(matter_mdns_host),
|
||||
}),
|
||||
be_str_weak(_anonymous_),
|
||||
&be_const_str_solidified,
|
||||
|
@ -2145,7 +2212,7 @@ be_local_closure(Matter_Device_start_mdns_announce_hostnames, /* name */
|
|||
/* K1 */ be_nested_str_weak(tasmota),
|
||||
/* K2 */ be_nested_str_weak(remove_rule),
|
||||
/* K3 */ be_nested_str_weak(Eth_X23Connected),
|
||||
/* K4 */ be_nested_str_weak(matter_device_mdns),
|
||||
/* K4 */ be_nested_str_weak(matter_mdns_host),
|
||||
}),
|
||||
be_str_weak(_anonymous_),
|
||||
&be_const_str_solidified,
|
||||
|
@ -2164,15 +2231,16 @@ be_local_closure(Matter_Device_start_mdns_announce_hostnames, /* name */
|
|||
),
|
||||
}),
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 8]) { /* constants */
|
||||
( &(const bvalue[ 9]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(tasmota),
|
||||
/* K1 */ be_nested_str_weak(wifi),
|
||||
/* K2 */ be_nested_str_weak(up),
|
||||
/* K3 */ be_nested_str_weak(_start_mdns_announce),
|
||||
/* K4 */ be_nested_str_weak(add_rule),
|
||||
/* K5 */ be_nested_str_weak(Wifi_X23Connected),
|
||||
/* K6 */ be_nested_str_weak(eth),
|
||||
/* K7 */ be_nested_str_weak(Eth_X23Connected),
|
||||
/* K6 */ be_nested_str_weak(matter_mdns_host),
|
||||
/* K7 */ be_nested_str_weak(eth),
|
||||
/* K8 */ be_nested_str_weak(Eth_X23Connected),
|
||||
}),
|
||||
be_str_weak(start_mdns_announce_hostnames),
|
||||
&be_const_str_solidified,
|
||||
|
@ -2190,10 +2258,10 @@ be_local_closure(Matter_Device_start_mdns_announce_hostnames, /* name */
|
|||
0x8C040304, // 000A GETMET R1 R1 K4
|
||||
0x580C0005, // 000B LDCONST R3 K5
|
||||
0x84100000, // 000C CLOSURE R4 P0
|
||||
0x5C140000, // 000D MOVE R5 R0
|
||||
0x58140006, // 000D LDCONST R5 K6
|
||||
0x7C040800, // 000E CALL R1 4
|
||||
0xB8060000, // 000F GETNGBL R1 K0
|
||||
0x8C040306, // 0010 GETMET R1 R1 K6
|
||||
0x8C040307, // 0010 GETMET R1 R1 K7
|
||||
0x7C040200, // 0011 CALL R1 1
|
||||
0x94040302, // 0012 GETIDX R1 R1 K2
|
||||
0x78060003, // 0013 JMPF R1 #0018
|
||||
|
@ -2203,9 +2271,9 @@ be_local_closure(Matter_Device_start_mdns_announce_hostnames, /* name */
|
|||
0x70020005, // 0017 JMP #001E
|
||||
0xB8060000, // 0018 GETNGBL R1 K0
|
||||
0x8C040304, // 0019 GETMET R1 R1 K4
|
||||
0x580C0007, // 001A LDCONST R3 K7
|
||||
0x580C0008, // 001A LDCONST R3 K8
|
||||
0x84100001, // 001B CLOSURE R4 P1
|
||||
0x5C140000, // 001C MOVE R5 R0
|
||||
0x58140006, // 001C LDCONST R5 K6
|
||||
0x7C040800, // 001D CALL R1 4
|
||||
0xA0000000, // 001E CLOSE R0
|
||||
0x80000000, // 001F RET 0
|
||||
|
@ -2321,7 +2389,7 @@ be_local_closure(Matter_Device_mdns_announce_op_discovery_all_fabrics, /* name
|
|||
1, /* has constants */
|
||||
( &(const bvalue[ 6]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(sessions),
|
||||
/* K1 */ be_nested_str_weak(fabrics),
|
||||
/* K1 */ be_nested_str_weak(active_fabrics),
|
||||
/* K2 */ be_nested_str_weak(get_device_id),
|
||||
/* K3 */ be_nested_str_weak(get_fabric_id),
|
||||
/* K4 */ be_nested_str_weak(mdns_announce_op_discovery),
|
||||
|
@ -2329,28 +2397,29 @@ be_local_closure(Matter_Device_mdns_announce_op_discovery_all_fabrics, /* name
|
|||
}),
|
||||
be_str_weak(mdns_announce_op_discovery_all_fabrics),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[21]) { /* code */
|
||||
( &(const binstruction[22]) { /* code */
|
||||
0x60040010, // 0000 GETGBL R1 G16
|
||||
0x88080100, // 0001 GETMBR R2 R0 K0
|
||||
0x88080501, // 0002 GETMBR R2 R2 K1
|
||||
0x7C040200, // 0003 CALL R1 1
|
||||
0xA802000B, // 0004 EXBLK 0 #0011
|
||||
0x5C080200, // 0005 MOVE R2 R1
|
||||
0x7C080000, // 0006 CALL R2 0
|
||||
0x8C0C0502, // 0007 GETMET R3 R2 K2
|
||||
0x7C0C0200, // 0008 CALL R3 1
|
||||
0x780E0005, // 0009 JMPF R3 #0010
|
||||
0x8C0C0503, // 000A GETMET R3 R2 K3
|
||||
0x7C0C0200, // 000B CALL R3 1
|
||||
0x780E0002, // 000C JMPF R3 #0010
|
||||
0x8C0C0104, // 000D GETMET R3 R0 K4
|
||||
0x5C140400, // 000E MOVE R5 R2
|
||||
0x7C0C0400, // 000F CALL R3 2
|
||||
0x7001FFF3, // 0010 JMP #0005
|
||||
0x58040005, // 0011 LDCONST R1 K5
|
||||
0xAC040200, // 0012 CATCH R1 1 0
|
||||
0xB0080000, // 0013 RAISE 2 R0 R0
|
||||
0x80000000, // 0014 RET 0
|
||||
0x8C080501, // 0002 GETMET R2 R2 K1
|
||||
0x7C080200, // 0003 CALL R2 1
|
||||
0x7C040200, // 0004 CALL R1 1
|
||||
0xA802000B, // 0005 EXBLK 0 #0012
|
||||
0x5C080200, // 0006 MOVE R2 R1
|
||||
0x7C080000, // 0007 CALL R2 0
|
||||
0x8C0C0502, // 0008 GETMET R3 R2 K2
|
||||
0x7C0C0200, // 0009 CALL R3 1
|
||||
0x780E0005, // 000A JMPF R3 #0011
|
||||
0x8C0C0503, // 000B GETMET R3 R2 K3
|
||||
0x7C0C0200, // 000C CALL R3 1
|
||||
0x780E0002, // 000D JMPF R3 #0011
|
||||
0x8C0C0104, // 000E GETMET R3 R0 K4
|
||||
0x5C140400, // 000F MOVE R5 R2
|
||||
0x7C0C0400, // 0010 CALL R3 2
|
||||
0x7001FFF3, // 0011 JMP #0006
|
||||
0x58040005, // 0012 LDCONST R1 K5
|
||||
0xAC040200, // 0013 CATCH R1 1 0
|
||||
0xB0080000, // 0014 RAISE 2 R0 R0
|
||||
0x80000000, // 0015 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
|
@ -2478,7 +2547,7 @@ be_local_closure(Matter_Device_init, /* name */
|
|||
),
|
||||
}),
|
||||
1, /* has constants */
|
||||
( &(const bvalue[40]) { /* constants */
|
||||
( &(const bvalue[41]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(crypto),
|
||||
/* K1 */ be_nested_str_weak(string),
|
||||
/* K2 */ be_nested_str_weak(tasmota),
|
||||
|
@ -2515,10 +2584,11 @@ be_local_closure(Matter_Device_init, /* name */
|
|||
/* K33 */ be_nested_str_weak(UDP_PORT),
|
||||
/* K34 */ be_nested_str_weak(add_rule),
|
||||
/* K35 */ be_nested_str_weak(Wifi_X23Connected),
|
||||
/* K36 */ be_nested_str_weak(eth),
|
||||
/* K37 */ be_nested_str_weak(Eth_X23Connected),
|
||||
/* K38 */ be_nested_str_weak(init_basic_commissioning),
|
||||
/* K39 */ be_nested_str_weak(add_driver),
|
||||
/* K36 */ be_nested_str_weak(matter_device_udp),
|
||||
/* K37 */ be_nested_str_weak(eth),
|
||||
/* K38 */ be_nested_str_weak(Eth_X23Connected),
|
||||
/* K39 */ be_nested_str_weak(init_basic_commissioning),
|
||||
/* K40 */ be_nested_str_weak(add_driver),
|
||||
}),
|
||||
be_str_weak(init),
|
||||
&be_const_str_solidified,
|
||||
|
@ -2607,10 +2677,10 @@ be_local_closure(Matter_Device_init, /* name */
|
|||
0x8C0C0722, // 0051 GETMET R3 R3 K34
|
||||
0x58140023, // 0052 LDCONST R5 K35
|
||||
0x84180000, // 0053 CLOSURE R6 P0
|
||||
0x5C1C0000, // 0054 MOVE R7 R0
|
||||
0x581C0024, // 0054 LDCONST R7 K36
|
||||
0x7C0C0800, // 0055 CALL R3 4
|
||||
0xB80E0400, // 0056 GETNGBL R3 K2
|
||||
0x8C0C0724, // 0057 GETMET R3 R3 K36
|
||||
0x8C0C0725, // 0057 GETMET R3 R3 K37
|
||||
0x7C0C0200, // 0058 CALL R3 1
|
||||
0x940C071F, // 0059 GETIDX R3 R3 K31
|
||||
0x780E0003, // 005A JMPF R3 #005F
|
||||
|
@ -2620,14 +2690,14 @@ be_local_closure(Matter_Device_init, /* name */
|
|||
0x70020005, // 005E JMP #0065
|
||||
0xB80E0400, // 005F GETNGBL R3 K2
|
||||
0x8C0C0722, // 0060 GETMET R3 R3 K34
|
||||
0x58140025, // 0061 LDCONST R5 K37
|
||||
0x58140026, // 0061 LDCONST R5 K38
|
||||
0x84180001, // 0062 CLOSURE R6 P1
|
||||
0x5C1C0000, // 0063 MOVE R7 R0
|
||||
0x581C0024, // 0063 LDCONST R7 K36
|
||||
0x7C0C0800, // 0064 CALL R3 4
|
||||
0x8C0C0126, // 0065 GETMET R3 R0 K38
|
||||
0x8C0C0127, // 0065 GETMET R3 R0 K39
|
||||
0x7C0C0200, // 0066 CALL R3 1
|
||||
0xB80E0400, // 0067 GETNGBL R3 K2
|
||||
0x8C0C0727, // 0068 GETMET R3 R3 K39
|
||||
0x8C0C0728, // 0068 GETMET R3 R3 K40
|
||||
0x5C140000, // 0069 MOVE R5 R0
|
||||
0x7C0C0400, // 006A CALL R3 2
|
||||
0xA0000000, // 006B CLOSE R0
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -525,7 +525,7 @@ be_local_closure(Matter_UDPServer_every_50ms, /* name */
|
|||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[14]) { /* constants */
|
||||
( &(const bvalue[15]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(string),
|
||||
/* K1 */ be_const_int(0),
|
||||
/* K2 */ be_nested_str_weak(udp_socket),
|
||||
|
@ -537,9 +537,10 @@ be_local_closure(Matter_UDPServer_every_50ms, /* name */
|
|||
/* K8 */ be_nested_str_weak(log),
|
||||
/* K9 */ be_nested_str_weak(format),
|
||||
/* K10 */ be_nested_str_weak(MTR_X3A_X20UDP_X20received_X20from_X20_X5B_X25s_X5D_X3A_X25i),
|
||||
/* K11 */ be_nested_str_weak(dispatch_cb),
|
||||
/* K12 */ be_nested_str_weak(MAX_PACKETS_READ),
|
||||
/* K13 */ be_nested_str_weak(resend_packets),
|
||||
/* K11 */ be_const_int(3),
|
||||
/* K12 */ be_nested_str_weak(dispatch_cb),
|
||||
/* K13 */ be_nested_str_weak(MAX_PACKETS_READ),
|
||||
/* K14 */ be_nested_str_weak(resend_packets),
|
||||
}),
|
||||
be_str_weak(every_50ms),
|
||||
&be_const_str_solidified,
|
||||
|
@ -569,16 +570,16 @@ be_local_closure(Matter_UDPServer_every_50ms, /* name */
|
|||
0x5C2C0800, // 0016 MOVE R11 R4
|
||||
0x5C300A00, // 0017 MOVE R12 R5
|
||||
0x7C200800, // 0018 CALL R8 4
|
||||
0x54260003, // 0019 LDINT R9 4
|
||||
0x5824000B, // 0019 LDCONST R9 K11
|
||||
0x7C180600, // 001A CALL R6 3
|
||||
0x8818010B, // 001B GETMBR R6 R0 K11
|
||||
0x8818010C, // 001B GETMBR R6 R0 K12
|
||||
0x781A0004, // 001C JMPF R6 #0022
|
||||
0x8C18010B, // 001D GETMET R6 R0 K11
|
||||
0x8C18010C, // 001D GETMET R6 R0 K12
|
||||
0x5C200600, // 001E MOVE R8 R3
|
||||
0x5C240800, // 001F MOVE R9 R4
|
||||
0x5C280A00, // 0020 MOVE R10 R5
|
||||
0x7C180800, // 0021 CALL R6 4
|
||||
0x8818010C, // 0022 GETMBR R6 R0 K12
|
||||
0x8818010D, // 0022 GETMBR R6 R0 K13
|
||||
0x14180406, // 0023 LT R6 R2 R6
|
||||
0x781A0004, // 0024 JMPF R6 #002A
|
||||
0x88180102, // 0025 GETMBR R6 R0 K2
|
||||
|
@ -588,7 +589,7 @@ be_local_closure(Matter_UDPServer_every_50ms, /* name */
|
|||
0x70020000, // 0029 JMP #002B
|
||||
0x4C0C0000, // 002A LDNIL R3
|
||||
0x7001FFDD, // 002B JMP #000A
|
||||
0x8C10010D, // 002C GETMET R4 R0 K13
|
||||
0x8C10010E, // 002C GETMET R4 R0 K14
|
||||
0x7C100200, // 002D CALL R4 1
|
||||
0x80000000, // 002E RET 0
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue