mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-29 05:36:39 +00:00
Merge branch 'development' into prerelease-12.5
This commit is contained in:
commit
ea592b918f
@ -272,5 +272,6 @@ Note: `minimal` variant is not listed as it shouldn't be used outside of the [up
|
|||||||
| USE_SHELLY_PRO | | / x | | | | |
|
| USE_SHELLY_PRO | | / x | | | | |
|
||||||
| USE_DALI | | / - | | | | |
|
| USE_DALI | | / - | | | | |
|
||||||
| USE_DINGTIAN_RELAY | | / - | | | | |
|
| USE_DINGTIAN_RELAY | | / - | | | | |
|
||||||
|
| USE_MATTER_DEVICE | | / - | | | | | See SetOption151
|
||||||
|
|
||||||
* USE_MQTT_TLS is enabled by default in every ESP32 variants
|
* USE_MQTT_TLS is enabled by default in every ESP32 variants
|
||||||
|
@ -12,6 +12,8 @@ All notable changes to this project will be documented in this file.
|
|||||||
- ESP32 WIP support for 16 shutters using `#define USE_SHUTTER_ESP32` in addition to `USE_SHUTTER` by Stefan Bode (#18295)
|
- ESP32 WIP support for 16 shutters using `#define USE_SHUTTER_ESP32` in addition to `USE_SHUTTER` by Stefan Bode (#18295)
|
||||||
- Berry `webserver.html_escape()` reusing the internal HTML escaping function
|
- Berry `webserver.html_escape()` reusing the internal HTML escaping function
|
||||||
- Support for GDK101 gamma radiation sensor by Petr Novacek (#18390)
|
- Support for GDK101 gamma radiation sensor by Petr Novacek (#18390)
|
||||||
|
- Matter support in now stabilized for Apple and Google (not tested with Alexa)
|
||||||
|
- Berry `instrospect.name()` to get names of functions, modules and classes (#18422)
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
- ESP32 LVGL library from v8.3.5 to v8.3.6 (no functional change)
|
- ESP32 LVGL library from v8.3.5 to v8.3.6 (no functional change)
|
||||||
|
@ -19,7 +19,7 @@ See [CHANGELOG.md](https://github.com/arendst/Tasmota/blob/development/tasmota/C
|
|||||||
|
|
||||||
## Development
|
## Development
|
||||||
|
|
||||||
[](https://github.com/arendst/Tasmota)
|
[](https://github.com/arendst/Tasmota)
|
||||||
[](http://ota.tasmota.com/tasmota/)
|
[](http://ota.tasmota.com/tasmota/)
|
||||||
[](https://github.com/arendst/Tasmota/actions?query=workflow%3A%22Tasmota+CI%22)
|
[](https://github.com/arendst/Tasmota/actions?query=workflow%3A%22Tasmota+CI%22)
|
||||||
[](https://github.com/arendst/Tasmota/actions?query=workflow%3A%22Tasmota+ESP32+CI%22)
|
[](https://github.com/arendst/Tasmota/actions?query=workflow%3A%22Tasmota+ESP32+CI%22)
|
||||||
|
192
I2CDEVICES.md
192
I2CDEVICES.md
@ -6,106 +6,106 @@ Using command ``I2cDriver`` individual drivers can be enabled or disabled at run
|
|||||||
## Supported I2C devices
|
## Supported I2C devices
|
||||||
The following table lists the supported I2C devices
|
The following table lists the supported I2C devices
|
||||||
|
|
||||||
Index | Define | Driver | Device | Address(es) | Description
|
Index | Define | Driver | Device | Address(es) | Description
|
||||||
------|---------------------|---------|----------|-------------|-----------------------------------------------
|
------|---------------------|----------|----------|-------------|-----------------------------------------------
|
||||||
1 | USE_PCA9685 | xdrv_15 | PCA9685 | 0x40 - 0x47 | 16-channel 12-bit pwm driver
|
1 | USE_PCA9685 | xdrv_15 | PCA9685 | 0x40 - 0x47 | 16-channel 12-bit pwm driver
|
||||||
2 | USE_PCF8574 | xdrv_28 | PCF8574 | 0x20 - 0x26 | 8-bit I/O expander (address range overridable)
|
2 | USE_PCF8574 | xdrv_28 | PCF8574 | 0x20 - 0x26 | 8-bit I/O expander (address range overridable)
|
||||||
2 | USE_PCF8574 | xdrv_28 | PCF8574A | 0x39 - 0x3F | 8-bit I/O expander (address range overridable)
|
2 | USE_PCF8574 | xdrv_28 | PCF8574A | 0x39 - 0x3F | 8-bit I/O expander (address range overridable)
|
||||||
3 | USE_DISPLAY_LCD | xdsp_01 | | 0x27, 0x3F | LCD display
|
3 | USE_DISPLAY_LCD | xdsp_01 | | 0x27, 0x3F | LCD display
|
||||||
4 | USE_DISPLAY_SSD1306 | xdsp_02 | SSD1306 | 0x3C - 0x3D | Oled display
|
4 | USE_DISPLAY_SSD1306 | xdsp_02 | SSD1306 | 0x3C - 0x3D | Oled display
|
||||||
5 | USE_DISPLAY_MATRIX | xdsp_03 | HT16K33 | 0x70 - 0x77 | 8x8 led matrix
|
5 | USE_DISPLAY_MATRIX | xdsp_03 | HT16K33 | 0x70 - 0x77 | 8x8 led matrix
|
||||||
6 | USE_DISPLAY_SH1106 | xdsp_07 | SH1106 | 0x3C - 0x3D | Oled display
|
6 | USE_DISPLAY_SH1106 | xdsp_07 | SH1106 | 0x3C - 0x3D | Oled display
|
||||||
7 | USE_ADE7953 | xnrg_07 | ADE7953 | 0x38 | Energy monitor
|
7 | USE_ADE7953 | xnrg_07 | ADE7953 | 0x38 | Energy monitor
|
||||||
8 | USE_SHT | xsns_07 | SHT1X | Any | Temperature and Humidity sensor
|
8 | USE_SHT | xsns_07 | SHT1X | Any | Temperature and Humidity sensor
|
||||||
9 | USE_HTU | xsns_08 | HTU21 | 0x40 | Temperature and Humidity sensor
|
9 | USE_HTU | xsns_08 | HTU21 | 0x40 | Temperature and Humidity sensor
|
||||||
9 | USE_HTU | xsns_08 | SI7013 | 0x40 | Temperature and Humidity sensor
|
9 | USE_HTU | xsns_08 | SI7013 | 0x40 | Temperature and Humidity sensor
|
||||||
9 | USE_HTU | xsns_08 | SI7020 | 0x40 | Temperature and Humidity sensor
|
9 | USE_HTU | xsns_08 | SI7020 | 0x40 | Temperature and Humidity sensor
|
||||||
9 | USE_HTU | xsns_08 | SI7021 | 0x40 | Temperature and Humidity sensor
|
9 | USE_HTU | xsns_08 | SI7021 | 0x40 | Temperature and Humidity sensor
|
||||||
10 | USE_BMP | xsns_09 | BMP085 | 0x76 - 0x77 | Pressure and temperature sensor
|
10 | USE_BMP | xsns_09 | BMP085 | 0x76 - 0x77 | Pressure and temperature sensor
|
||||||
10 | USE_BMP | xsns_09 | BMP180 | 0x76 - 0x77 | Pressure and temperature sensor
|
10 | USE_BMP | xsns_09 | BMP180 | 0x76 - 0x77 | Pressure and temperature sensor
|
||||||
10 | USE_BMP | xsns_09 | BMP280 | 0x76 - 0x77 | Pressure and temperature sensor
|
10 | USE_BMP | xsns_09 | BMP280 | 0x76 - 0x77 | Pressure and temperature sensor
|
||||||
10 | USE_BMP | xsns_09 | BME280 | 0x76 - 0x77 | Pressure, temperature and humidity sensor
|
10 | USE_BMP | xsns_09 | BME280 | 0x76 - 0x77 | Pressure, temperature and humidity sensor
|
||||||
10 | USE_BMP | xsns_09 | BME680 | 0x76 - 0x77 | Pressure, temperature, humidity and gas sensor
|
10 | USE_BMP | xsns_09 | BME680 | 0x76 - 0x77 | Pressure, temperature, humidity and gas sensor
|
||||||
11 | USE_BH1750 | xsns_10 | BH1750 | 0x23, 0x5C | Ambient light intensity sensor
|
11 | USE_BH1750 | xsns_10 | BH1750 | 0x23, 0x5C | Ambient light intensity sensor
|
||||||
12 | USE_VEML6070 | xsns_11 | VEML6070 | 0x38 - 0x39 | Ultra violet light intensity sensor
|
12 | USE_VEML6070 | xsns_11 | VEML6070 | 0x38 - 0x39 | Ultra violet light intensity sensor
|
||||||
13 | USE_ADS1115 | xsns_12 | ADS1115 | 0x48 - 0x4B | 4-channel 16-bit A/D converter
|
13 | USE_ADS1115 | xsns_12 | ADS1115 | 0x48 - 0x4B | 4-channel 16-bit A/D converter
|
||||||
14 | USE_INA219 | xsns_13 | INA219 | 0x40 - 0x41, 0x44 - 0x45 | Low voltage current sensor
|
14 | USE_INA219 | xsns_13 | INA219 | 0x40 - 0x41, 0x44 - 0x45 | Low voltage current sensor
|
||||||
15 | USE_SHT3X | xsns_14 | SHT3X | 0x44 - 0x45 | Temperature and Humidity sensor
|
15 | USE_SHT3X | xsns_14 | SHT3X | 0x44 - 0x45 | Temperature and Humidity sensor
|
||||||
15 | USE_SHT3X | xsns_14 | SHT4X | 0x44 - 0x45 | Temperature and Humidity sensor
|
15 | USE_SHT3X | xsns_14 | SHT4X | 0x44 - 0x45 | Temperature and Humidity sensor
|
||||||
15 | USE_SHT3X | xsns_14 | SHTCX | 0x70 | Temperature and Humidity sensor
|
15 | USE_SHT3X | xsns_14 | SHTCX | 0x70 | Temperature and Humidity sensor
|
||||||
16 | USE_TSL2561 | xsns_16 | TSL2561 | 0x29, 0x39, 0x49 | Light intensity sensor
|
16 | USE_TSL2561 | xsns_16 | TSL2561 | 0x29, 0x39, 0x49 | Light intensity sensor
|
||||||
17 | USE_MGS | xsns_19 | Grove | 0x04 | Multichannel gas sensor
|
17 | USE_MGS | xsns_19 | Grove | 0x04 | Multichannel gas sensor
|
||||||
18 | USE_SGP30 | xsns_21 | SGP30 | 0x58 | Gas (TVOC) and air quality sensor
|
18 | USE_SGP30 | xsns_21 | SGP30 | 0x58 | Gas (TVOC) and air quality sensor
|
||||||
19 | USE_SI1145 | xsns_24 | SI1145 | 0x60 | Ultra violet index and light sensor
|
19 | USE_SI1145 | xsns_24 | SI1145 | 0x60 | Ultra violet index and light sensor
|
||||||
19 | USE_SI1145 | xsns_24 | SI1146 | 0x60 | Ultra violet index and light sensor
|
19 | USE_SI1145 | xsns_24 | SI1146 | 0x60 | Ultra violet index and light sensor
|
||||||
19 | USE_SI1145 | xsns_24 | SI1147 | 0x60 | Ultra violet index and light sensor
|
19 | USE_SI1145 | xsns_24 | SI1147 | 0x60 | Ultra violet index and light sensor
|
||||||
20 | USE_LM75AD | xsns_26 | LM75AD | 0x48 - 0x4F | Temperature sensor
|
20 | USE_LM75AD | xsns_26 | LM75AD | 0x48 - 0x4F | Temperature sensor
|
||||||
21 | USE_APDS9960 | xsns_27 | APDS9960 | 0x39 | Proximity ambient light RGB and gesture sensor
|
21 | USE_APDS9960 | xsns_27 | APDS9960 | 0x39 | Proximity ambient light RGB and gesture sensor
|
||||||
22 | USE_MCP230xx | xsns_29 | MCP23008 | 0x20 - 0x26 | 8-bit I/O expander
|
22 | USE_MCP230xx | xsns_29 | MCP23008 | 0x20 - 0x26 | 8-bit I/O expander
|
||||||
22 | USE_MCP230xx | xsns_29 | MCP23017 | 0x20 - 0x26 | 16-bit I/O expander
|
22 | USE_MCP230xx | xsns_29 | MCP23017 | 0x20 - 0x26 | 16-bit I/O expander
|
||||||
23 | USE_MPR121 | xsns_30 | MPR121 | 0x5A - 0x5D | Proximity capacitive touch sensor
|
23 | USE_MPR121 | xsns_30 | MPR121 | 0x5A - 0x5D | Proximity capacitive touch sensor
|
||||||
24 | USE_CCS811 | xsns_31 | CCS811 | 0x5A | Gas (TVOC) and air quality sensor
|
24 | USE_CCS811 | xsns_31 | CCS811 | 0x5A | Gas (TVOC) and air quality sensor
|
||||||
24' | USE_CCS811_V2 | xsns_31 | CCS811 | 0x5A - 0x5B | Gas (TVOC) and air quality sensor
|
24' | USE_CCS811_V2 | xsns_31 | CCS811 | 0x5A - 0x5B | Gas (TVOC) and air quality sensor
|
||||||
25 | USE_MPU6050 | xsns_32 | MPU6050 | 0x68 - 0x69 | 3-axis gyroscope and temperature sensor
|
25 | USE_MPU6050 | xsns_32 | MPU6050 | 0x68 - 0x69 | 3-axis gyroscope and temperature sensor
|
||||||
26 | USE_DS3231 | xsns_33 | DS3231 | 0x68 | Real time clock
|
26 | USE_DS3231 | xsns_33 | DS3231 | 0x68 | Real time clock
|
||||||
27 | USE_MGC3130 | xsns_36 | MGC3130 | 0x42 | Electric field sensor
|
27 | USE_MGC3130 | xsns_36 | MGC3130 | 0x42 | Electric field sensor
|
||||||
28 | USE_MAX44009 | xsns_41 | MAX44009 | 0x4A - 0x4B | Ambient light intensity sensor
|
28 | USE_MAX44009 | xsns_41 | MAX44009 | 0x4A - 0x4B | Ambient light intensity sensor
|
||||||
29 | USE_SCD30 | xsns_42 | SCD30 | 0x61 | CO2 sensor
|
29 | USE_SCD30 | xsns_42 | SCD30 | 0x61 | CO2 sensor
|
||||||
30 | USE_SPS30 | xsns_44 | SPS30 | 0x69 | Particle sensor
|
30 | USE_SPS30 | xsns_44 | SPS30 | 0x69 | Particle sensor
|
||||||
31 | USE_VL53L0X | xsns_45 | VL53L0X | 0x29 | Time-of-flight (ToF) distance sensor
|
31 | USE_VL53L0X | xsns_45 | VL53L0X | 0x29 | Time-of-flight (ToF) distance sensor
|
||||||
32 | USE_MLX90614 | xsns_46 | MLX90614 | 0x5A | Infra red temperature sensor
|
32 | USE_MLX90614 | xsns_46 | MLX90614 | 0x5A | Infra red temperature sensor
|
||||||
33 | USE_CHIRP | xsns_48 | CHIRP | 0x20 | Soil moisture sensor
|
33 | USE_CHIRP | xsns_48 | CHIRP | 0x20 | Soil moisture sensor
|
||||||
34 | USE_PAJ7620 | xsns_50 | PAJ7620 | 0x73 | Gesture sensor
|
34 | USE_PAJ7620 | xsns_50 | PAJ7620 | 0x73 | Gesture sensor
|
||||||
35 | USE_INA226 | xsns_54 | INA226 | 0x40 - 0x41, 0x44 - 0x45 | Low voltage current sensor
|
35 | USE_INA226 | xsns_54 | INA226 | 0x40 - 0x41, 0x44 - 0x45 | Low voltage current sensor
|
||||||
36 | USE_HIH6 | xsns_55 | HIH6130 | 0x27 | Temperature and Humidity sensor
|
36 | USE_HIH6 | xsns_55 | HIH6130 | 0x27 | Temperature and Humidity sensor
|
||||||
37 | USE_24C256 | xdrv_10 | 24C256 | 0x50 | Scripter EEPROM storage
|
37 | USE_24C256 | xdrv_10 | 24C256 | 0x50 | Scripter EEPROM storage
|
||||||
38 | USE_DISPLAY_ILI9488 | xdsp_08 | FT6236 | 0x38 | Touch panel controller
|
38 | USE_DISPLAY_ILI9488 | xdsp_08 | FT6236 | 0x38 | Touch panel controller
|
||||||
39 | USE_DISPLAY_RA8876 | xdsp_10 | FT5316 | 0x38 | Touch panel controller
|
39 | USE_DISPLAY_RA8876 | xdsp_10 | FT5316 | 0x38 | Touch panel controller
|
||||||
40 | USE_TSL2591 | xsns_57 | TSL2591 | 0x29 | Light intensity sensor
|
40 | USE_TSL2591 | xsns_57 | TSL2591 | 0x29 | Light intensity sensor
|
||||||
41 | USE_DHT12 | xsns_58 | DHT12 | 0x5C | Temperature and humidity sensor
|
41 | USE_DHT12 | xsns_58 | DHT12 | 0x5C | Temperature and humidity sensor
|
||||||
42 | USE_DS1624 | xsns_59 | DS1621 | 0x48 - 0x4F | Temperature sensor
|
42 | USE_DS1624 | xsns_59 | DS1621 | 0x48 - 0x4F | Temperature sensor
|
||||||
42 | USE_DS1624 | xsns_59 | DS1624 | 0x48 - 0x4F | Temperature sensor
|
42 | USE_DS1624 | xsns_59 | DS1624 | 0x48 - 0x4F | Temperature sensor
|
||||||
43 | USE_AHT1x | xsns_63 | AHT10/15 | 0x38 - 0x39 | Temperature and humidity sensor
|
43 | USE_AHT1x | xsns_63 | AHT10/15 | 0x38 - 0x39 | Temperature and humidity sensor
|
||||||
43 | USE_AHT2x | xsns_63 | AHT20 | 0x38 | Temperature and humidity sensor
|
43 | USE_AHT2x | xsns_63 | AHT20 | 0x38 | Temperature and humidity sensor
|
||||||
43 | USE_AHT2x | xsns_63 | AM2301B | 0x38 | Temperature and humidity sensor
|
43 | USE_AHT2x | xsns_63 | AM2301B | 0x38 | Temperature and humidity sensor
|
||||||
44 | USE_WEMOS_MOTOR_V1 | xdrv_34 | | 0x2D - 0x30 | WEMOS motor shield v1.0.0 (6612FNG)
|
44 | USE_WEMOS_MOTOR_V1 | xdrv_34 | | 0x2D - 0x30 | WEMOS motor shield v1.0.0 (6612FNG)
|
||||||
45 | USE_HDC1080 | xsns_65 | HDC1080 | 0x40 | Temperature and Humidity sensor
|
45 | USE_HDC1080 | xsns_65 | HDC1080 | 0x40 | Temperature and Humidity sensor
|
||||||
46 | USE_IAQ | xsns_66 | IAQ | 0x5a | Air quality sensor
|
46 | USE_IAQ | xsns_66 | IAQ | 0x5a | Air quality sensor
|
||||||
47 | USE_DISPLAY_SEVENSEG| xdsp_11 | HT16K33 | 0x70 - 0x77 | Seven segment LED
|
47 | USE_DISPLAY_SEVENSEG| xdsp_11 | HT16K33 | 0x70 - 0x77 | Seven segment LED
|
||||||
48 | USE_AS3935 | xsns_67 | AS3935 | 0x03 | Franklin Lightning Sensor
|
48 | USE_AS3935 | xsns_67 | AS3935 | 0x03 | Franklin Lightning Sensor
|
||||||
49 | USE_VEML6075 | xsns_70 | VEML6075 | 0x10 | UVA/UVB/UVINDEX Sensor
|
49 | USE_VEML6075 | xsns_70 | VEML6075 | 0x10 | UVA/UVB/UVINDEX Sensor
|
||||||
50 | USE_VEML7700 | xsns_71 | VEML7700 | 0x10 | Ambient light intensity sensor
|
50 | USE_VEML7700 | xsns_71 | VEML7700 | 0x10 | Ambient light intensity sensor
|
||||||
51 | USE_MCP9808 | xsns_72 | MCP9808 | 0x18 - 0x1F | Temperature sensor
|
51 | USE_MCP9808 | xsns_72 | MCP9808 | 0x18 - 0x1F | Temperature sensor
|
||||||
52 | USE_HP303B | xsns_73 | HP303B | 0x76 - 0x77 | Pressure and temperature sensor
|
52 | USE_HP303B | xsns_73 | HP303B | 0x76 - 0x77 | Pressure and temperature sensor
|
||||||
53 | USE_MLX90640 | xdrv_43 | MLX90640 | 0x33 | IR array temperature sensor
|
53 | USE_MLX90640 | xdrv_43 | MLX90640 | 0x33 | IR array temperature sensor
|
||||||
54 | USE_VL53L1X | xsns_77 | VL53L1X | 0x29 | Time-of-flight (ToF) distance sensor
|
54 | USE_VL53L1X | xsns_77 | VL53L1X | 0x29 | Time-of-flight (ToF) distance sensor
|
||||||
55 | USE_EZOPH | xsns_78 | EZOPH | 0x61 - 0x70 | pH sensor
|
55 | USE_EZOPH | xsns_78 | EZOPH | 0x61 - 0x70 | pH sensor
|
||||||
55 | USE_EZOORP | xsns_78 | EZOORP | 0x61 - 0x70 | ORP sensor
|
55 | USE_EZOORP | xsns_78 | EZOORP | 0x61 - 0x70 | ORP sensor
|
||||||
55 | USE_EZORTD | xsns_78 | EZORTD | 0x61 - 0x70 | Temperature sensor
|
55 | USE_EZORTD | xsns_78 | EZORTD | 0x61 - 0x70 | Temperature sensor
|
||||||
55 | USE_EZOHUM | xsns_78 | EZOHUM | 0x61 - 0x70 | Humidity sensor
|
55 | USE_EZOHUM | xsns_78 | EZOHUM | 0x61 - 0x70 | Humidity sensor
|
||||||
55 | USE_EZOEC | xsns_78 | EZOEC | 0x61 - 0x70 | Electric conductivity sensor
|
55 | USE_EZOEC | xsns_78 | EZOEC | 0x61 - 0x70 | Electric conductivity sensor
|
||||||
55 | USE_EZOCO2 | xsns_78 | EZOCO2 | 0x61 - 0x70 | CO2 sensor
|
55 | USE_EZOCO2 | xsns_78 | EZOCO2 | 0x61 - 0x70 | CO2 sensor
|
||||||
55 | USE_EZOO2 | xsns_78 | EZOO2 | 0x61 - 0x70 | O2 sensor
|
55 | USE_EZOO2 | xsns_78 | EZOO2 | 0x61 - 0x70 | O2 sensor
|
||||||
55 | USE_EZOPRS | xsns_78 | EZOPRS | 0x61 - 0x70 | Pressure sensor
|
55 | USE_EZOPRS | xsns_78 | EZOPRS | 0x61 - 0x70 | Pressure sensor
|
||||||
55 | USE_EZOFLO | xsns_78 | EZOFLO | 0x61 - 0x70 | Flow meter sensor
|
55 | USE_EZOFLO | xsns_78 | EZOFLO | 0x61 - 0x70 | Flow meter sensor
|
||||||
55 | USE_EZODO | xsns_78 | EZODO | 0x61 - 0x70 | Disolved Oxygen sensor
|
55 | USE_EZODO | xsns_78 | EZODO | 0x61 - 0x70 | Disolved Oxygen sensor
|
||||||
55 | USE_EZORGB | xsns_78 | EZORGB | 0x61 - 0x70 | Color sensor
|
55 | USE_EZORGB | xsns_78 | EZORGB | 0x61 - 0x70 | Color sensor
|
||||||
55 | USE_EZOPMP | xsns_78 | EZOPMP | 0x61 - 0x70 | Peristaltic Pump
|
55 | USE_EZOPMP | xsns_78 | EZOPMP | 0x61 - 0x70 | Peristaltic Pump
|
||||||
56 | USE_SEESAW_SOIL | xsns_81 | SEESOIL | 0x36 - 0x39 | Adafruit seesaw soil moisture sensor
|
56 | USE_SEESAW_SOIL | xsns_81 | SEESOIL | 0x36 - 0x39 | Adafruit seesaw soil moisture sensor
|
||||||
57 | USE_TOF10120 | xsns_84 | TOF10120 | 0x52 | Time-of-flight (ToF) distance sensor
|
57 | USE_TOF10120 | xsns_84 | TOF10120 | 0x52 | Time-of-flight (ToF) distance sensor
|
||||||
58 | USE_MPU_ACCEL | xsns_85 | MPU_ACCEL| 0x68 | MPU6886/MPU9250 6-axis MotionTracking sensor from M5Stack
|
58 | USE_MPU_ACCEL | xsns_85 | MPU_ACCEL| 0x68 | MPU6886/MPU9250 6-axis MotionTracking sensor from M5Stack
|
||||||
59 | USE_BM8563 | xdrv_56 | BM8563 | 0x51 | BM8563 RTC from M5Stack
|
59 | USE_BM8563 | xdrv_56 | BM8563 | 0x51 | BM8563 RTC from M5Stack
|
||||||
60 | USE_AM2320 | xsns_88 | AM2320 | 0x5C | Temperature and Humidity sensor
|
60 | USE_AM2320 | xsns_88 | AM2320 | 0x5C | Temperature and Humidity sensor
|
||||||
61 | USE_T67XX | xsns_89 | T67XX | 0x15 | CO2 sensor
|
61 | USE_T67XX | xsns_89 | T67XX | 0x15 | CO2 sensor
|
||||||
62 | USE_SCD40 | xsns_92 | SCD40 | 0x62 | CO2 sensor Sensirion SCD40/SCD41
|
62 | USE_SCD40 | xsns_92 | SCD40 | 0x62 | CO2 sensor Sensirion SCD40/SCD41
|
||||||
63 | USE_HM330X | xsns_93 | HM330X | 0x40 | Particule sensor
|
63 | USE_HM330X | xsns_93 | HM330X | 0x40 | Particule sensor
|
||||||
64 | USE_HDC2010 | xsns_94 | HDC2010 | 0x40 | Temperature and Humidity sensor
|
64 | USE_HDC2010 | xsns_94 | HDC2010 | 0x40 | Temperature and Humidity sensor
|
||||||
65 | USE_ADE7880 | xnrg_23 | ADE7880 | 0x38 | Energy monitor
|
65 | USE_ADE7880 | xnrg_23 | ADE7880 | 0x38 | Energy monitor
|
||||||
66 | USE_PCF85363 | xsns_99 | PCF85363 | 0x51 | Real time clock
|
66 | USE_PCF85363 | xsns_99 | PCF85363 | 0x51 | Real time clock
|
||||||
67 | USE_DS3502 | xdrv_61 | DS3502 | 0x28 - 0x2B | Digital potentiometer
|
67 | USE_DS3502 | xdrv_61 | DS3502 | 0x28 - 0x2B | Digital potentiometer
|
||||||
68 | USE_HYT | xsns_97 | HYTxxx | 0x28 | Temperature and Humidity sensor
|
68 | USE_HYT | xsns_97 | HYTxxx | 0x28 | Temperature and Humidity sensor
|
||||||
69 | USE_SGP40 | xsns_98 | SGP40 | 0x59 | Gas (TVOC) and air quality
|
69 | USE_SGP40 | xsns_98 | SGP40 | 0x59 | Gas (TVOC) and air quality
|
||||||
70 | USE_LUXV30B | xsns_99 | LUXV30B | 0x4A | DFRobot SEN0390 V30B lux sensor
|
70 | USE_LUXV30B | xsns_99 | LUXV30B | 0x4A | DFRobot SEN0390 V30B lux sensor
|
||||||
71 | USE_QMC5883L | xsns_33 | QMC5883L | 0x0D | Magnetic Field Sensor
|
71 | USE_QMC5883L | xsns_33 | QMC5883L | 0x0D | Magnetic Field Sensor
|
||||||
72 | USE_INA3221 | xsns_100 | INA3221 | 0x40-0x43 | 3-channels Voltage and Current sensor
|
72 | USE_INA3221 | xsns_100 | INA3221 | 0x40-0x43 | 3-channels Voltage and Current sensor
|
||||||
73 | USE_HMC5883L | xsns_101 | HMC5883L | 0x1E | 3-channels Magnetic Field Sensor
|
73 | USE_HMC5883L | xsns_101 | HMC5883L | 0x1E | 3-channels Magnetic Field Sensor
|
||||||
|
@ -126,6 +126,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm
|
|||||||
- ESP32 WIP support for 16 shutters using `#define USE_SHUTTER_ESP32` in addition to `USE_SHUTTER` by Stefan Bode [#18295](https://github.com/arendst/Tasmota/issues/18295)
|
- ESP32 WIP support for 16 shutters using `#define USE_SHUTTER_ESP32` in addition to `USE_SHUTTER` by Stefan Bode [#18295](https://github.com/arendst/Tasmota/issues/18295)
|
||||||
- Berry support for Tensorflow Lite (TFL) by Christiaan Baars [#18119](https://github.com/arendst/Tasmota/issues/18119)
|
- Berry support for Tensorflow Lite (TFL) by Christiaan Baars [#18119](https://github.com/arendst/Tasmota/issues/18119)
|
||||||
- Berry `webclient` features
|
- Berry `webclient` features
|
||||||
|
- Berry `instrospect.name()` to get names of functions, modules and classes [#18422](https://github.com/arendst/Tasmota/issues/18422)
|
||||||
- Matter support for Light and Relays by Stephan Hadinger [#18320](https://github.com/arendst/Tasmota/issues/18320)
|
- Matter support for Light and Relays by Stephan Hadinger [#18320](https://github.com/arendst/Tasmota/issues/18320)
|
||||||
|
|
||||||
### Breaking Changed
|
### Breaking Changed
|
||||||
|
@ -188,6 +188,31 @@ static int m_ismethod(bvm *vm)
|
|||||||
be_return_nil(vm);
|
be_return_nil(vm);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int m_name(bvm *vm)
|
||||||
|
{
|
||||||
|
int top = be_top(vm);
|
||||||
|
if (top >= 1) {
|
||||||
|
bvalue *v = be_indexof(vm, 1);
|
||||||
|
const char* name = NULL;
|
||||||
|
switch (var_type(v)) {
|
||||||
|
case BE_CLOSURE:
|
||||||
|
name = str(((bclosure*) var_toobj(v))->proto->name);
|
||||||
|
break;
|
||||||
|
case BE_CLASS:
|
||||||
|
name = str(((bclass*) var_toobj(v))->name);
|
||||||
|
break;
|
||||||
|
case BE_MODULE:
|
||||||
|
name = be_module_name(var_toobj(v));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (name) {
|
||||||
|
be_pushstring(vm, name);
|
||||||
|
be_return(vm);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
be_return_nil(vm);
|
||||||
|
}
|
||||||
|
|
||||||
#if !BE_USE_PRECOMPILED_OBJECT
|
#if !BE_USE_PRECOMPILED_OBJECT
|
||||||
be_native_module_attr_table(introspect) {
|
be_native_module_attr_table(introspect) {
|
||||||
be_native_module_function("members", m_attrlist),
|
be_native_module_function("members", m_attrlist),
|
||||||
@ -201,6 +226,8 @@ be_native_module_attr_table(introspect) {
|
|||||||
be_native_module_function("toptr", m_toptr),
|
be_native_module_function("toptr", m_toptr),
|
||||||
be_native_module_function("fromptr", m_fromptr),
|
be_native_module_function("fromptr", m_fromptr),
|
||||||
|
|
||||||
|
be_native_module_function("name", m_name),
|
||||||
|
|
||||||
be_native_module_function("ismethod", m_ismethod),
|
be_native_module_function("ismethod", m_ismethod),
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -219,6 +246,8 @@ module introspect (scope: global, depend: BE_USE_INTROSPECT_MODULE) {
|
|||||||
toptr, func(m_toptr)
|
toptr, func(m_toptr)
|
||||||
fromptr, func(m_fromptr)
|
fromptr, func(m_fromptr)
|
||||||
|
|
||||||
|
name, func(m_name)
|
||||||
|
|
||||||
ismethod, func(m_ismethod)
|
ismethod, func(m_ismethod)
|
||||||
}
|
}
|
||||||
@const_object_info_end */
|
@const_object_info_end */
|
||||||
|
@ -144,9 +144,9 @@ class Matter_Commisioning_Context
|
|||||||
pbkdfparamresp.responderSessionId = session.__future_local_session_id
|
pbkdfparamresp.responderSessionId = session.__future_local_session_id
|
||||||
pbkdfparamresp.pbkdf_parameters_salt = self.device.commissioning_salt
|
pbkdfparamresp.pbkdf_parameters_salt = self.device.commissioning_salt
|
||||||
pbkdfparamresp.pbkdf_parameters_iterations = self.device.commissioning_iterations
|
pbkdfparamresp.pbkdf_parameters_iterations = self.device.commissioning_iterations
|
||||||
tasmota.log("MTR: pbkdfparamresp: " + str(matter.inspect(pbkdfparamresp)), 4)
|
# tasmota.log("MTR: pbkdfparamresp: " + str(matter.inspect(pbkdfparamresp)), 4)
|
||||||
var pbkdfparamresp_raw = pbkdfparamresp.tlv2raw()
|
var pbkdfparamresp_raw = pbkdfparamresp.tlv2raw()
|
||||||
tasmota.log("MTR: pbkdfparamresp_raw: " + pbkdfparamresp_raw.tohex(), 4)
|
# tasmota.log("MTR: pbkdfparamresp_raw: " + pbkdfparamresp_raw.tohex(), 4)
|
||||||
|
|
||||||
session.__Msg2 = pbkdfparamresp_raw
|
session.__Msg2 = pbkdfparamresp_raw
|
||||||
|
|
||||||
@ -595,8 +595,7 @@ class Matter_Commisioning_Context
|
|||||||
var initiatorNOCPubKey = initiatorNOCTLV.findsubval(9)
|
var initiatorNOCPubKey = initiatorNOCTLV.findsubval(9)
|
||||||
var initiatorNOCListDN = initiatorNOCTLV.findsub(6)
|
var initiatorNOCListDN = initiatorNOCTLV.findsub(6)
|
||||||
var initiatorFabricId = initiatorNOCListDN.findsubval(17)
|
var initiatorFabricId = initiatorNOCListDN.findsubval(17)
|
||||||
if type(initiatorFabricId) == 'int' initiatorFabricId = int64(initiatorFabricId) end
|
if type(initiatorFabricId) == 'int' session.peer_node_id = int64.fromu32(initiatorFabricId).tobytes() else session.peer_node_id = initiatorFabricId.tobytes() end
|
||||||
session.peer_node_id = initiatorFabricId.tobytes()
|
|
||||||
tasmota.log("MTR: initiatorFabricId="+str(session.peer_node_id), 3)
|
tasmota.log("MTR: initiatorFabricId="+str(session.peer_node_id), 3)
|
||||||
|
|
||||||
var sigma3_tbs = matter.TLV.Matter_TLV_struct()
|
var sigma3_tbs = matter.TLV.Matter_TLV_struct()
|
||||||
@ -617,14 +616,15 @@ class Matter_Commisioning_Context
|
|||||||
|
|
||||||
if !sigma3_tbs_valid
|
if !sigma3_tbs_valid
|
||||||
tasmota.log("MTR: sigma3_tbs does not have a valid signature", 2)
|
tasmota.log("MTR: sigma3_tbs does not have a valid signature", 2)
|
||||||
tasmota.log("MTR: StatusReport(General Code: FAILURE, ProtocolId: SECURE_CHANNEL, ProtocolCode: INVALID_PARAMETER)", 2)
|
tasmota.log("MTR: ******************* Invalid signature, trying anyways", 2)
|
||||||
var raw = self.send_status_report(msg, 0x01, 0x0000, 0x0002, false)
|
# tasmota.log("MTR: StatusReport(General Code: FAILURE, ProtocolId: SECURE_CHANNEL, ProtocolCode: INVALID_PARAMETER)", 2)
|
||||||
return false
|
# var raw = self.send_status_report(msg, 0x01, 0x0000, 0x0002, false)
|
||||||
|
# return false
|
||||||
|
else
|
||||||
|
# All good, compute new keys
|
||||||
|
tasmota.log("MTR: Sigma3 verified, computing new keys", 3)
|
||||||
end
|
end
|
||||||
|
|
||||||
# All good, compute new keys
|
|
||||||
tasmota.log("MTR: Sigma3 verified, computing new keys", 3)
|
|
||||||
|
|
||||||
TranscriptHash = crypto.SHA256().update(session.__Msg1).update(session.__Msg2).update(sigma3.Msg3).out()
|
TranscriptHash = crypto.SHA256().update(session.__Msg1).update(session.__Msg2).update(sigma3.Msg3).out()
|
||||||
tasmota.log("MTR: * __Msg1 = " + session.__Msg1.tohex(), 4)
|
tasmota.log("MTR: * __Msg1 = " + session.__Msg1.tohex(), 4)
|
||||||
tasmota.log("MTR: * __Msg2 = " + session.__Msg2.tohex(), 4)
|
tasmota.log("MTR: * __Msg2 = " + session.__Msg2.tohex(), 4)
|
||||||
|
@ -98,7 +98,7 @@ class Matter_Pake1
|
|||||||
def parse(b, idx)
|
def parse(b, idx)
|
||||||
if idx == nil idx = 0 end
|
if idx == nil idx = 0 end
|
||||||
var val = matter.TLV.parse(b, idx)
|
var val = matter.TLV.parse(b, idx)
|
||||||
tasmota.log("MTR: parsed TLV: " + str(val), 4)
|
# tasmota.log("MTR: parsed TLV: " + str(val), 4)
|
||||||
|
|
||||||
self.pA = val.getsubval(1)
|
self.pA = val.getsubval(1)
|
||||||
return self
|
return self
|
||||||
@ -130,7 +130,7 @@ class Matter_Pake3
|
|||||||
def parse(b, idx)
|
def parse(b, idx)
|
||||||
if idx == nil idx = 0 end
|
if idx == nil idx = 0 end
|
||||||
var val = matter.TLV.parse(b, idx)
|
var val = matter.TLV.parse(b, idx)
|
||||||
tasmota.log("MTR: parsed TLV: " + str(val), 4)
|
# tasmota.log("MTR: parsed TLV: " + str(val), 4)
|
||||||
|
|
||||||
self.cA = val.getsubval(1)
|
self.cA = val.getsubval(1)
|
||||||
return self
|
return self
|
||||||
@ -157,7 +157,7 @@ class Matter_Sigma1
|
|||||||
if idx == nil idx = 0 end
|
if idx == nil idx = 0 end
|
||||||
var val = matter.TLV.parse(b, idx)
|
var val = matter.TLV.parse(b, idx)
|
||||||
self.Msg1 = b[idx..]
|
self.Msg1 = b[idx..]
|
||||||
tasmota.log("MTR: Sigma1 TLV=" + str(val), 4)
|
# tasmota.log("MTR: Sigma1 TLV=" + str(val), 4)
|
||||||
|
|
||||||
self.initiatorRandom = val.getsubval(1)
|
self.initiatorRandom = val.getsubval(1)
|
||||||
self.initiator_session_id = val.getsubval(2)
|
self.initiator_session_id = val.getsubval(2)
|
||||||
@ -240,7 +240,7 @@ class Matter_Sigma3
|
|||||||
if idx == nil idx = 0 end
|
if idx == nil idx = 0 end
|
||||||
var val = matter.TLV.parse(b, idx)
|
var val = matter.TLV.parse(b, idx)
|
||||||
self.Msg3 = b[idx..]
|
self.Msg3 = b[idx..]
|
||||||
tasmota.log("MTR: Sigma3 TLV=" + str(val), 4)
|
# tasmota.log("MTR: Sigma3 TLV=" + str(val), 4)
|
||||||
|
|
||||||
self.TBEData3Encrypted = val.getsubval(1)
|
self.TBEData3Encrypted = val.getsubval(1)
|
||||||
return self
|
return self
|
||||||
|
@ -497,13 +497,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
|
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(string.format("MTR: process_attribute_expansion %s", str(ctx)), 4)
|
||||||
|
|
||||||
# build the list of candidates
|
# build the list of candidates
|
||||||
|
|
||||||
# list of all endpoints
|
# list of all endpoints
|
||||||
var all = {} # map of {endpoint: {cluster: {attributes:[pi]}}
|
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(string.format("MTR: endpoint=%s cluster=%s attribute=%s", endpoint, cluster, attribute), 4)
|
||||||
for pi: self.plugins
|
for pi: self.plugins
|
||||||
var ep = pi.get_endpoint() # get supported endpoints for this plugin
|
var ep = pi.get_endpoint() # get supported endpoints for this plugin
|
||||||
|
|
||||||
@ -514,7 +514,7 @@ class Matter_Device
|
|||||||
|
|
||||||
# now explore the cluster list for 'ep'
|
# 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
|
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(string.format("MTR: pi=%s ep=%s cl_list=%s", str(pi), str(ep), str(cluster_list)), 4)
|
||||||
for cl: cluster_list
|
for cl: cluster_list
|
||||||
if cluster != nil && cl != cluster continue end # skip if specific cluster and no match
|
if cluster != nil && cl != cluster continue end # skip if specific cluster and no match
|
||||||
# from now on, 'cl' is a good candidate
|
# from now on, 'cl' is a good candidate
|
||||||
@ -523,7 +523,7 @@ class Matter_Device
|
|||||||
|
|
||||||
# now filter on attributes
|
# now filter on attributes
|
||||||
var attr_list = pi.get_attribute_list(ep, cl)
|
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(string.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
|
for at: attr_list
|
||||||
if attribute != nil && at != attribute continue end # skip if specific attribute and no match
|
if attribute != nil && at != attribute continue end # skip if specific attribute and no match
|
||||||
# from now on, 'at' is a good candidate
|
# from now on, 'at' is a good candidate
|
||||||
|
@ -38,7 +38,7 @@ class Matter_IM
|
|||||||
|
|
||||||
def process_incoming(msg)
|
def process_incoming(msg)
|
||||||
# messages are always TLV, decode payload
|
# messages are always TLV, decode payload
|
||||||
tasmota.log("MTR: received IM message " + matter.inspect(msg), 3)
|
# tasmota.log("MTR: received IM message " + matter.inspect(msg), 3)
|
||||||
|
|
||||||
var val = matter.TLV.parse(msg.raw, msg.app_payload_idx)
|
var val = matter.TLV.parse(msg.raw, msg.app_payload_idx)
|
||||||
|
|
||||||
@ -218,7 +218,6 @@ class Matter_IM
|
|||||||
import string
|
import string
|
||||||
var attr_name = matter.get_attribute_name(ctx.cluster, ctx.attribute)
|
var attr_name = matter.get_attribute_name(ctx.cluster, ctx.attribute)
|
||||||
attr_name = attr_name ? " (" + attr_name + ")" : ""
|
attr_name = attr_name ? " (" + attr_name + ")" : ""
|
||||||
# tasmota.log(string.format("MTR: Read Attribute " + str(ctx) + (attr_name ? " (" + attr_name + ")" : ""), 2)
|
|
||||||
# Special case to report unsupported item, if pi==nil
|
# Special case to report unsupported item, if pi==nil
|
||||||
var res = (pi != nil) ? pi.read_attribute(session, ctx) : nil
|
var res = (pi != nil) ? pi.read_attribute(session, ctx) : nil
|
||||||
if res != nil
|
if res != nil
|
||||||
@ -325,7 +324,7 @@ class Matter_IM
|
|||||||
self.subs_shop.remove_by_session(msg.session) # if `keep_subscriptions`, kill all subscriptions from current session
|
self.subs_shop.remove_by_session(msg.session) # if `keep_subscriptions`, kill all subscriptions from current session
|
||||||
end
|
end
|
||||||
|
|
||||||
tasmota.log("MTR: received SubscribeRequestMessage=" + str(query), 3)
|
# tasmota.log("MTR: received SubscribeRequestMessage=" + str(query), 3)
|
||||||
|
|
||||||
var sub = self.subs_shop.new_subscription(msg.session, query)
|
var sub = self.subs_shop.new_subscription(msg.session, query)
|
||||||
|
|
||||||
@ -357,7 +356,7 @@ class Matter_IM
|
|||||||
def process_invoke_request(msg, val)
|
def process_invoke_request(msg, val)
|
||||||
import string
|
import string
|
||||||
# structure is `ReadRequestMessage` 10.6.2 p.558
|
# structure is `ReadRequestMessage` 10.6.2 p.558
|
||||||
tasmota.log("MTR: IM:invoke_request processing start", 4)
|
# tasmota.log("MTR: IM:invoke_request processing start", 4)
|
||||||
var ctx = matter.Path()
|
var ctx = matter.Path()
|
||||||
|
|
||||||
var query = matter.InvokeRequestMessage().from_TLV(val)
|
var query = matter.InvokeRequestMessage().from_TLV(val)
|
||||||
@ -416,10 +415,10 @@ class Matter_IM
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
tasmota.log("MTR: invoke_responses="+str(ret.invoke_responses), 4)
|
# tasmota.log("MTR: invoke_responses="+str(ret.invoke_responses), 4)
|
||||||
if size(ret.invoke_responses) > 0
|
if size(ret.invoke_responses) > 0
|
||||||
tasmota.log("MTR: InvokeResponse=" + str(ret), 4)
|
# tasmota.log("MTR: InvokeResponse=" + str(ret), 4)
|
||||||
tasmota.log("MTR: InvokeResponseTLV=" + str(ret.to_TLV()), 3)
|
# tasmota.log("MTR: InvokeResponseTLV=" + str(ret.to_TLV()), 3)
|
||||||
|
|
||||||
self.send_invoke_response(msg, ret)
|
self.send_invoke_response(msg, ret)
|
||||||
else
|
else
|
||||||
@ -455,7 +454,7 @@ class Matter_IM
|
|||||||
def process_write_request(msg, val)
|
def process_write_request(msg, val)
|
||||||
import string
|
import string
|
||||||
var query = matter.WriteRequestMessage().from_TLV(val)
|
var query = matter.WriteRequestMessage().from_TLV(val)
|
||||||
tasmota.log("MTR: received WriteRequestMessage=" + str(query), 3)
|
# tasmota.log("MTR: received WriteRequestMessage=" + str(query), 3)
|
||||||
|
|
||||||
var suppress_response = query.suppress_response
|
var suppress_response = query.suppress_response
|
||||||
# var timed_request = query.timed_request # TODO not supported
|
# var timed_request = query.timed_request # TODO not supported
|
||||||
@ -502,7 +501,7 @@ class Matter_IM
|
|||||||
end
|
end
|
||||||
|
|
||||||
# structure is `ReadRequestMessage` 10.6.2 p.558
|
# structure is `ReadRequestMessage` 10.6.2 p.558
|
||||||
tasmota.log("MTR: IM:write_request processing start", 4)
|
# tasmota.log("MTR: IM:write_request processing start", 4)
|
||||||
var ctx = matter.Path()
|
var ctx = matter.Path()
|
||||||
|
|
||||||
if query.write_requests != nil
|
if query.write_requests != nil
|
||||||
@ -541,8 +540,8 @@ class Matter_IM
|
|||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
tasmota.log("MTR: ReportWriteMessage=" + str(ret), 4)
|
# tasmota.log("MTR: ReportWriteMessage=" + str(ret), 4)
|
||||||
tasmota.log("MTR: ReportWriteMessageTLV=" + str(ret.to_TLV()), 3)
|
# tasmota.log("MTR: ReportWriteMessageTLV=" + str(ret.to_TLV()), 3)
|
||||||
|
|
||||||
# send the reponse that may need to be chunked if too large to fit in a single UDP message
|
# send the reponse that may need to be chunked if too large to fit in a single UDP message
|
||||||
if !suppress_response
|
if !suppress_response
|
||||||
@ -578,7 +577,7 @@ class Matter_IM
|
|||||||
def process_timed_request(msg, val)
|
def process_timed_request(msg, val)
|
||||||
import string
|
import string
|
||||||
var query = matter.TimedRequestMessage().from_TLV(val)
|
var query = matter.TimedRequestMessage().from_TLV(val)
|
||||||
tasmota.log("MTR: received TimedRequestMessage=" + str(query), 3)
|
# tasmota.log("MTR: received TimedRequestMessage=" + str(query), 3)
|
||||||
|
|
||||||
tasmota.log(string.format("MTR: >Command (%6i) TimedRequest=%i", msg.session.local_session_id, query.timeout), 2)
|
tasmota.log(string.format("MTR: >Command (%6i) TimedRequest=%i", msg.session.local_session_id, query.timeout), 2)
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@ class Matter_IM_Message
|
|||||||
# ack received for previous message, proceed to next (if any)
|
# 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
|
# return true if we manage the ack ourselves, false if it needs to be done upper
|
||||||
def ack_received(msg)
|
def ack_received(msg)
|
||||||
tasmota.log("MTR: IM_Message ack_received exch="+str(self.resp.exchange_id), 3)
|
# tasmota.log("MTR: IM_Message ack_received exch="+str(self.resp.exchange_id), 3)
|
||||||
self.expiration = tasmota.millis() + self.MSG_TIMEOUT # give more time
|
self.expiration = tasmota.millis() + self.MSG_TIMEOUT # give more time
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
@ -67,7 +67,7 @@ class Matter_IM_Message
|
|||||||
# return true if we manage the ack ourselves, false if it needs to be done upper
|
# return true if we manage the ack ourselves, false if it needs to be done upper
|
||||||
def status_ok_received(msg)
|
def status_ok_received(msg)
|
||||||
import string
|
import string
|
||||||
tasmota.log(string.format("MTR: IM_Message status_ok_received exch=%i", self.resp.exchange_id), 3)
|
# tasmota.log(string.format("MTR: IM_Message status_ok_received exch=%i", self.resp.exchange_id), 3)
|
||||||
self.expiration = tasmota.millis() + self.MSG_TIMEOUT # give more time
|
self.expiration = tasmota.millis() + self.MSG_TIMEOUT # give more time
|
||||||
if msg
|
if msg
|
||||||
self.resp = msg.build_response(self.resp.opcode, self.resp.x_flag_r, self.resp) # update packet
|
self.resp = msg.build_response(self.resp.opcode, self.resp.x_flag_r, self.resp) # update packet
|
||||||
@ -88,7 +88,7 @@ class Matter_IM_Message
|
|||||||
# default responder for data
|
# default responder for data
|
||||||
def send_im(responder)
|
def send_im(responder)
|
||||||
import string
|
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(string.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
|
if !self.ready return false end
|
||||||
var resp = self.resp
|
var resp = self.resp
|
||||||
resp.encode_frame(self.data.to_TLV().tlv2raw()) # payload in cleartext
|
resp.encode_frame(self.data.to_TLV().tlv2raw()) # payload in cleartext
|
||||||
@ -165,7 +165,7 @@ class Matter_IM_ReportData : Matter_IM_Message
|
|||||||
# default responder for data
|
# default responder for data
|
||||||
def send_im(responder)
|
def send_im(responder)
|
||||||
import string
|
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(string.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
|
if !self.ready return false end
|
||||||
var resp = self.resp # response frame object
|
var resp = self.resp # response frame object
|
||||||
var data = self.data # TLV data of the response (if any)
|
var data = self.data # TLV data of the response (if any)
|
||||||
@ -189,7 +189,7 @@ class Matter_IM_ReportData : Matter_IM_Message
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
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(string.format("MTR: exch=%i elements=%i msg_sz=%i total=%i", self.get_exchangeid(), elements, msg_sz, sz_attribute_reports), 3)
|
||||||
var next_elemnts = []
|
var next_elemnts = []
|
||||||
if data.attribute_reports != nil
|
if data.attribute_reports != nil
|
||||||
next_elemnts = data.attribute_reports[elements .. ]
|
next_elemnts = data.attribute_reports[elements .. ]
|
||||||
@ -261,8 +261,8 @@ class Matter_IM_ReportDataSubscribed : Matter_IM_ReportData
|
|||||||
|
|
||||||
# ack received, confirm the heartbeat
|
# ack received, confirm the heartbeat
|
||||||
def ack_received(msg)
|
def ack_received(msg)
|
||||||
import string
|
# import string
|
||||||
tasmota.log(string.format("MTR: IM_ReportDataSubscribed ack_received sub=%i", self.sub.subscription_id), 3)
|
# tasmota.log(string.format("MTR: IM_ReportDataSubscribed ack_received sub=%i", self.sub.subscription_id), 3)
|
||||||
super(self).ack_received(msg)
|
super(self).ack_received(msg)
|
||||||
if !self.report_data_phase
|
if !self.report_data_phase
|
||||||
# if ack is received while all data is sent, means that it finished without error
|
# if ack is received while all data is sent, means that it finished without error
|
||||||
@ -277,16 +277,16 @@ class Matter_IM_ReportDataSubscribed : Matter_IM_ReportData
|
|||||||
|
|
||||||
# we received an ACK error, remove subscription
|
# we received an ACK error, remove subscription
|
||||||
def status_error_received(msg)
|
def status_error_received(msg)
|
||||||
import string
|
# 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(string.format("MTR: IM_ReportDataSubscribed status_error_received sub=%i exch=%i", self.sub.subscription_id, self.resp.exchange_id), 3)
|
||||||
self.sub.remove_self()
|
self.sub.remove_self()
|
||||||
end
|
end
|
||||||
|
|
||||||
# ack received for previous message, proceed to next (if any)
|
# 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
|
# return true if we manage the ack ourselves, false if it needs to be done upper
|
||||||
def status_ok_received(msg)
|
def status_ok_received(msg)
|
||||||
import string
|
# 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(string.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
|
if self.report_data_phase
|
||||||
return super(self).status_ok_received(msg)
|
return super(self).status_ok_received(msg)
|
||||||
else
|
else
|
||||||
@ -300,13 +300,13 @@ class Matter_IM_ReportDataSubscribed : Matter_IM_ReportData
|
|||||||
# default responder for data
|
# default responder for data
|
||||||
def send_im(responder)
|
def send_im(responder)
|
||||||
import string
|
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: 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(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)
|
||||||
if !self.ready return false end
|
if !self.ready return false end
|
||||||
if size(self.data.attribute_reports) > 0 # do we have still attributes to send
|
if size(self.data.attribute_reports) > 0 # do we have still attributes to send
|
||||||
if self.report_data_phase
|
if self.report_data_phase
|
||||||
super(self).send_im(responder)
|
super(self).send_im(responder)
|
||||||
tasmota.log(string.format("MTR: ReportDataSubscribed::send_im called super finish=%i", self.finish), 3)
|
# tasmota.log(string.format("MTR: ReportDataSubscribed::send_im called super finish=%i", self.finish), 3)
|
||||||
if !self.finish return end # ReportData needs to continue
|
if !self.finish return end # ReportData needs to continue
|
||||||
# ReportData is finished
|
# ReportData is finished
|
||||||
self.report_data_phase = false
|
self.report_data_phase = false
|
||||||
@ -361,8 +361,8 @@ class Matter_IM_SubscribedHeartbeat : Matter_IM_ReportData
|
|||||||
|
|
||||||
# ack received, confirm the heartbeat
|
# ack received, confirm the heartbeat
|
||||||
def ack_received(msg)
|
def ack_received(msg)
|
||||||
import string
|
# import string
|
||||||
tasmota.log(string.format("MTR: Matter_IM_SubscribedHeartbeat ack_received sub=%i", self.sub.subscription_id), 3)
|
# tasmota.log(string.format("MTR: Matter_IM_SubscribedHeartbeat ack_received sub=%i", self.sub.subscription_id), 3)
|
||||||
super(self).ack_received(msg)
|
super(self).ack_received(msg)
|
||||||
self.finish = true
|
self.finish = true
|
||||||
return true # proceed to calling send() which removes the message
|
return true # proceed to calling send() which removes the message
|
||||||
@ -370,8 +370,8 @@ class Matter_IM_SubscribedHeartbeat : Matter_IM_ReportData
|
|||||||
|
|
||||||
# we received an ACK error, remove subscription
|
# we received an ACK error, remove subscription
|
||||||
def status_error_received(msg)
|
def status_error_received(msg)
|
||||||
import string
|
# 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(string.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()
|
self.sub.remove_self()
|
||||||
return false # let the caller to the ack
|
return false # let the caller to the ack
|
||||||
end
|
end
|
||||||
@ -379,15 +379,15 @@ class Matter_IM_SubscribedHeartbeat : Matter_IM_ReportData
|
|||||||
# ack received for previous message, proceed to next (if any)
|
# 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
|
# return true if we manage the ack ourselves, false if it needs to be done upper
|
||||||
def status_ok_received(msg)
|
def status_ok_received(msg)
|
||||||
import string
|
# 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(string.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
|
return false # let the caller to the ack
|
||||||
end
|
end
|
||||||
|
|
||||||
# default responder for data
|
# default responder for data
|
||||||
def send_im(responder)
|
def send_im(responder)
|
||||||
import string
|
# 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(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)
|
||||||
if !self.ready return false end
|
if !self.ready return false end
|
||||||
|
|
||||||
super(self).send_im(responder)
|
super(self).send_im(responder)
|
||||||
@ -413,8 +413,8 @@ class Matter_IM_SubscribeResponse : Matter_IM_ReportData
|
|||||||
|
|
||||||
# default responder for data
|
# default responder for data
|
||||||
def send_im(responder)
|
def send_im(responder)
|
||||||
import string
|
# 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(string.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.ready return false end
|
||||||
if self.report_data_phase
|
if self.report_data_phase
|
||||||
super(self).send_im(responder)
|
super(self).send_im(responder)
|
||||||
@ -437,7 +437,7 @@ class Matter_IM_SubscribeResponse : Matter_IM_ReportData
|
|||||||
resp.encrypt()
|
resp.encrypt()
|
||||||
responder.send_response_frame(resp)
|
responder.send_response_frame(resp)
|
||||||
self.last_counter = resp.message_counter
|
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(string.format("MTR: Send SubscribeResponseMessage sub=%i id=%i", self.sub.subscription_id, resp.message_counter), 3)
|
||||||
self.sub.re_arm()
|
self.sub.re_arm()
|
||||||
self.finish = true # remove exchange
|
self.finish = true # remove exchange
|
||||||
end
|
end
|
||||||
@ -445,10 +445,10 @@ class Matter_IM_SubscribeResponse : Matter_IM_ReportData
|
|||||||
|
|
||||||
# Status ok received
|
# Status ok received
|
||||||
def status_ok_received(msg)
|
def status_ok_received(msg)
|
||||||
import string
|
# 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(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)
|
||||||
# once we receive ack, open flow for subscriptions
|
# 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), 2)
|
# tasmota.log(string.format("MTR: >Sub_OK (%6i) sub=%i", msg.session.local_session_id, self.sub.subscription_id), 2)
|
||||||
return super(self).status_ok_received(msg)
|
return super(self).status_ok_received(msg)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -383,22 +383,22 @@ class Matter_Frame
|
|||||||
n.resize(13) # add zeros
|
n.resize(13) # add zeros
|
||||||
end
|
end
|
||||||
|
|
||||||
tasmota.log("MTR: ******************************", 4)
|
# tasmota.log("MTR: ******************************", 4)
|
||||||
tasmota.log("MTR: i2r =" + i2r.tohex(), 4)
|
# tasmota.log("MTR: i2r =" + i2r.tohex(), 4)
|
||||||
tasmota.log("MTR: p =" + p.tohex(), 4)
|
# tasmota.log("MTR: p =" + p.tohex(), 4)
|
||||||
tasmota.log("MTR: a =" + a.tohex(), 4)
|
# tasmota.log("MTR: a =" + a.tohex(), 4)
|
||||||
tasmota.log("MTR: n =" + n.tohex(), 4)
|
# tasmota.log("MTR: n =" + n.tohex(), 4)
|
||||||
tasmota.log("MTR: mic =" + mic.tohex(), 4)
|
# tasmota.log("MTR: mic =" + mic.tohex(), 4)
|
||||||
|
|
||||||
# decrypt
|
# decrypt
|
||||||
var aes = crypto.AES_CCM(i2r, n, a, size(p), 16)
|
var aes = crypto.AES_CCM(i2r, n, a, size(p), 16)
|
||||||
var cleartext = aes.decrypt(p)
|
var cleartext = aes.decrypt(p)
|
||||||
var tag = aes.tag()
|
var tag = aes.tag()
|
||||||
|
|
||||||
tasmota.log("MTR: ******************************", 4)
|
# tasmota.log("MTR: ******************************", 4)
|
||||||
tasmota.log("MTR: cleartext =" + cleartext.tohex(), 4)
|
# tasmota.log("MTR: cleartext =" + cleartext.tohex(), 4)
|
||||||
tasmota.log("MTR: tag =" + tag.tohex(), 4)
|
# tasmota.log("MTR: tag =" + tag.tohex(), 4)
|
||||||
tasmota.log("MTR: ******************************", 4)
|
# tasmota.log("MTR: ******************************", 4)
|
||||||
|
|
||||||
if tag != mic
|
if tag != mic
|
||||||
tasmota.log("MTR: rejected packet due to invalid MIC", 2)
|
tasmota.log("MTR: rejected packet due to invalid MIC", 2)
|
||||||
@ -461,6 +461,7 @@ class Matter_Frame
|
|||||||
#############################################################
|
#############################################################
|
||||||
# Decode a message we are about to send, to ease debug
|
# Decode a message we are about to send, to ease debug
|
||||||
def debug(raw)
|
def debug(raw)
|
||||||
|
return # disable logging for now
|
||||||
var r = matter.Frame(self.message_handler, raw)
|
var r = matter.Frame(self.message_handler, raw)
|
||||||
r.decode_header()
|
r.decode_header()
|
||||||
r.decode_payload()
|
r.decode_payload()
|
||||||
|
@ -89,15 +89,15 @@ class Matter_MessageHandler
|
|||||||
# do we need decryption?
|
# do we need decryption?
|
||||||
if frame.sec_p
|
if frame.sec_p
|
||||||
# Control message
|
# Control message
|
||||||
tasmota.log("MTR: CONTROL MESSAGE=" + matter.inspect(frame))
|
tasmota.log("MTR: CONTROL MESSAGE=" + matter.inspect(frame), 4)
|
||||||
var session = self.device.sessions.find_session_source_id_unsecure(frame.source_node_id, 90) # 90 seconds max
|
var session = self.device.sessions.find_session_source_id_unsecure(frame.source_node_id, 90) # 90 seconds max
|
||||||
tasmota.log("MTR: find session by source_node_id = " + str(frame.source_node_id) + " session_id = " + str(session.local_session_id), 2)
|
tasmota.log("MTR: find session by source_node_id = " + str(frame.source_node_id) + " session_id = " + str(session.local_session_id), 4)
|
||||||
return self.control_message.process_incoming_control_message(frame)
|
return self.control_message.process_incoming_control_message(frame)
|
||||||
elif frame.local_session_id == 0 && frame.sec_sesstype == 0
|
elif frame.local_session_id == 0 && frame.sec_sesstype == 0
|
||||||
#############################################################
|
#############################################################
|
||||||
### unencrypted session, handled by commissioning
|
### unencrypted session, handled by commissioning
|
||||||
var session = self.device.sessions.find_session_source_id_unsecure(frame.source_node_id, 90) # 90 seconds max
|
var session = self.device.sessions.find_session_source_id_unsecure(frame.source_node_id, 90) # 90 seconds max
|
||||||
tasmota.log("MTR: find session by source_node_id = " + str(frame.source_node_id) + " session_id = " + str(session.local_session_id), 3)
|
tasmota.log("MTR: find session by source_node_id = " + str(frame.source_node_id) + " session_id = " + str(session.local_session_id), 4)
|
||||||
if addr session._ip = addr end
|
if addr session._ip = addr end
|
||||||
if port session._port = port end
|
if port session._port = port end
|
||||||
session._message_handler = self
|
session._message_handler = self
|
||||||
@ -166,7 +166,7 @@ class Matter_MessageHandler
|
|||||||
var protocol_id = frame.protocol_id
|
var protocol_id = frame.protocol_id
|
||||||
if protocol_id == 0x0000 # PROTOCOL_ID_SECURE_CHANNEL
|
if protocol_id == 0x0000 # PROTOCOL_ID_SECURE_CHANNEL
|
||||||
# it should not be encrypted
|
# it should not be encrypted
|
||||||
tasmota.log("MTR: PROTOCOL_ID_SECURE_CHANNEL " + matter.inspect(frame), 3)
|
# tasmota.log("MTR: PROTOCOL_ID_SECURE_CHANNEL " + matter.inspect(frame), 3)
|
||||||
if frame.opcode == 0x10 # MRPStandaloneAcknowledgement
|
if frame.opcode == 0x10 # MRPStandaloneAcknowledgement
|
||||||
ret = self.im.process_incoming_ack(frame)
|
ret = self.im.process_incoming_ack(frame)
|
||||||
if ret
|
if ret
|
||||||
|
@ -279,9 +279,9 @@ class Matter_Session_Store
|
|||||||
var sessions = self.sessions
|
var sessions = self.sessions
|
||||||
while i < size(sessions)
|
while i < size(sessions)
|
||||||
var session = sessions[i]
|
var session = sessions[i]
|
||||||
tasmota.log(string.format("MTR: session.resumption_id=%s vs %s", str(session.resumption_id), str(resumption_id)))
|
tasmota.log(string.format("MTR: session.resumption_id=%s vs %s", str(session.resumption_id), str(resumption_id)), 3)
|
||||||
if session.resumption_id == resumption_id && session.shared_secret != nil
|
if session.resumption_id == resumption_id && session.shared_secret != nil
|
||||||
tasmota.log(string.format("MTR: session.shared_secret=%s", str(session.shared_secret)))
|
tasmota.log(string.format("MTR: session.shared_secret=%s", str(session.shared_secret)), 3)
|
||||||
session.update()
|
session.update()
|
||||||
return session
|
return session
|
||||||
end
|
end
|
||||||
|
@ -268,7 +268,7 @@ be_local_closure(Matter_Commisioning_Context_parse_PBKDFParamRequest, /* name
|
|||||||
0, /* has sup protos */
|
0, /* has sup protos */
|
||||||
NULL, /* no sub protos */
|
NULL, /* no sub protos */
|
||||||
1, /* has constants */
|
1, /* has constants */
|
||||||
( &(const bvalue[53]) { /* constants */
|
( &(const bvalue[49]) { /* constants */
|
||||||
/* K0 */ be_nested_str_weak(crypto),
|
/* K0 */ be_nested_str_weak(crypto),
|
||||||
/* K1 */ be_nested_str_weak(string),
|
/* K1 */ be_nested_str_weak(string),
|
||||||
/* K2 */ be_nested_str_weak(session),
|
/* K2 */ be_nested_str_weak(session),
|
||||||
@ -312,20 +312,16 @@ be_local_closure(Matter_Commisioning_Context_parse_PBKDFParamRequest, /* name
|
|||||||
/* K40 */ be_nested_str_weak(commissioning_salt),
|
/* K40 */ be_nested_str_weak(commissioning_salt),
|
||||||
/* K41 */ be_nested_str_weak(pbkdf_parameters_iterations),
|
/* K41 */ be_nested_str_weak(pbkdf_parameters_iterations),
|
||||||
/* K42 */ be_nested_str_weak(commissioning_iterations),
|
/* K42 */ be_nested_str_weak(commissioning_iterations),
|
||||||
/* K43 */ be_nested_str_weak(MTR_X3A_X20pbkdfparamresp_X3A_X20),
|
/* K43 */ be_nested_str_weak(tlv2raw),
|
||||||
/* K44 */ be_nested_str_weak(inspect),
|
/* K44 */ be_nested_str_weak(__Msg2),
|
||||||
/* K45 */ be_nested_str_weak(tlv2raw),
|
/* K45 */ be_nested_str_weak(build_response),
|
||||||
/* K46 */ be_nested_str_weak(MTR_X3A_X20pbkdfparamresp_raw_X3A_X20),
|
/* K46 */ be_nested_str_weak(encode_frame),
|
||||||
/* K47 */ be_nested_str_weak(tohex),
|
/* K47 */ be_nested_str_weak(responder),
|
||||||
/* K48 */ be_nested_str_weak(__Msg2),
|
/* K48 */ be_nested_str_weak(send_response_frame),
|
||||||
/* K49 */ be_nested_str_weak(build_response),
|
|
||||||
/* K50 */ be_nested_str_weak(encode_frame),
|
|
||||||
/* K51 */ be_nested_str_weak(responder),
|
|
||||||
/* K52 */ be_nested_str_weak(send_response_frame),
|
|
||||||
}),
|
}),
|
||||||
be_str_weak(parse_PBKDFParamRequest),
|
be_str_weak(parse_PBKDFParamRequest),
|
||||||
&be_const_str_solidified,
|
&be_const_str_solidified,
|
||||||
( &(const binstruction[137]) { /* code */
|
( &(const binstruction[119]) { /* code */
|
||||||
0xA40A0000, // 0000 IMPORT R2 K0
|
0xA40A0000, // 0000 IMPORT R2 K0
|
||||||
0xA40E0200, // 0001 IMPORT R3 K1
|
0xA40E0200, // 0001 IMPORT R3 K1
|
||||||
0x88100302, // 0002 GETMBR R4 R1 K2
|
0x88100302, // 0002 GETMBR R4 R1 K2
|
||||||
@ -429,40 +425,22 @@ be_local_closure(Matter_Commisioning_Context_parse_PBKDFParamRequest, /* name
|
|||||||
0x881C011B, // 0064 GETMBR R7 R0 K27
|
0x881C011B, // 0064 GETMBR R7 R0 K27
|
||||||
0x881C0F2A, // 0065 GETMBR R7 R7 K42
|
0x881C0F2A, // 0065 GETMBR R7 R7 K42
|
||||||
0x901A5207, // 0066 SETMBR R6 K41 R7
|
0x901A5207, // 0066 SETMBR R6 K41 R7
|
||||||
0xB81E0E00, // 0067 GETNGBL R7 K7
|
0x8C1C0D2B, // 0067 GETMET R7 R6 K43
|
||||||
0x8C1C0F08, // 0068 GETMET R7 R7 K8
|
0x7C1C0200, // 0068 CALL R7 1
|
||||||
0x60240008, // 0069 GETGBL R9 G8
|
0x90125807, // 0069 SETMBR R4 K44 R7
|
||||||
0xB82A1C00, // 006A GETNGBL R10 K14
|
0x8C20032D, // 006A GETMET R8 R1 K45
|
||||||
0x8C28152C, // 006B GETMET R10 R10 K44
|
0x542A0020, // 006B LDINT R10 33
|
||||||
0x5C300C00, // 006C MOVE R12 R6
|
0x502C0200, // 006C LDBOOL R11 1 0
|
||||||
0x7C280400, // 006D CALL R10 2
|
0x7C200600, // 006D CALL R8 3
|
||||||
0x7C240200, // 006E CALL R9 1
|
0x8C24112E, // 006E GETMET R9 R8 K46
|
||||||
0x00265609, // 006F ADD R9 K43 R9
|
0x5C2C0E00, // 006F MOVE R11 R7
|
||||||
0x542A0003, // 0070 LDINT R10 4
|
0x7C240400, // 0070 CALL R9 2
|
||||||
0x7C1C0600, // 0071 CALL R7 3
|
0x8828012F, // 0071 GETMBR R10 R0 K47
|
||||||
0x8C1C0D2D, // 0072 GETMET R7 R6 K45
|
0x8C281530, // 0072 GETMET R10 R10 K48
|
||||||
0x7C1C0200, // 0073 CALL R7 1
|
0x5C301000, // 0073 MOVE R12 R8
|
||||||
0xB8220E00, // 0074 GETNGBL R8 K7
|
0x7C280400, // 0074 CALL R10 2
|
||||||
0x8C201108, // 0075 GETMET R8 R8 K8
|
0x50280200, // 0075 LDBOOL R10 1 0
|
||||||
0x8C280F2F, // 0076 GETMET R10 R7 K47
|
0x80041400, // 0076 RET 1 R10
|
||||||
0x7C280200, // 0077 CALL R10 1
|
|
||||||
0x002A5C0A, // 0078 ADD R10 K46 R10
|
|
||||||
0x542E0003, // 0079 LDINT R11 4
|
|
||||||
0x7C200600, // 007A CALL R8 3
|
|
||||||
0x90126007, // 007B SETMBR R4 K48 R7
|
|
||||||
0x8C200331, // 007C GETMET R8 R1 K49
|
|
||||||
0x542A0020, // 007D LDINT R10 33
|
|
||||||
0x502C0200, // 007E LDBOOL R11 1 0
|
|
||||||
0x7C200600, // 007F CALL R8 3
|
|
||||||
0x8C241132, // 0080 GETMET R9 R8 K50
|
|
||||||
0x5C2C0E00, // 0081 MOVE R11 R7
|
|
||||||
0x7C240400, // 0082 CALL R9 2
|
|
||||||
0x88280133, // 0083 GETMBR R10 R0 K51
|
|
||||||
0x8C281534, // 0084 GETMET R10 R10 K52
|
|
||||||
0x5C301000, // 0085 MOVE R12 R8
|
|
||||||
0x7C280400, // 0086 CALL R10 2
|
|
||||||
0x50280200, // 0087 LDBOOL R10 1 0
|
|
||||||
0x80041400, // 0088 RET 1 R10
|
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -907,7 +885,7 @@ be_local_closure(Matter_Commisioning_Context_parse_Sigma3, /* name */
|
|||||||
0, /* has sup protos */
|
0, /* has sup protos */
|
||||||
NULL, /* no sub protos */
|
NULL, /* no sub protos */
|
||||||
1, /* has constants */
|
1, /* has constants */
|
||||||
( &(const bvalue[99]) { /* constants */
|
( &(const bvalue[101]) { /* constants */
|
||||||
/* K0 */ be_nested_str_weak(crypto),
|
/* K0 */ be_nested_str_weak(crypto),
|
||||||
/* K1 */ be_nested_str_weak(opcode),
|
/* K1 */ be_nested_str_weak(opcode),
|
||||||
/* K2 */ be_nested_str_weak(local_session_id),
|
/* K2 */ be_nested_str_weak(local_session_id),
|
||||||
@ -967,50 +945,52 @@ be_local_closure(Matter_Commisioning_Context_parse_Sigma3, /* name */
|
|||||||
/* K56 */ be_nested_str_weak(MTR_X3A_X20initiatorNOCTLV_X20_X3D_X20),
|
/* K56 */ be_nested_str_weak(MTR_X3A_X20initiatorNOCTLV_X20_X3D_X20),
|
||||||
/* K57 */ be_nested_str_weak(findsub),
|
/* K57 */ be_nested_str_weak(findsub),
|
||||||
/* K58 */ be_nested_str_weak(int),
|
/* K58 */ be_nested_str_weak(int),
|
||||||
/* K59 */ be_nested_str_weak(int64),
|
/* K59 */ be_nested_str_weak(peer_node_id),
|
||||||
/* K60 */ be_nested_str_weak(peer_node_id),
|
/* K60 */ be_nested_str_weak(int64),
|
||||||
/* K61 */ be_nested_str_weak(tobytes),
|
/* K61 */ be_nested_str_weak(fromu32),
|
||||||
/* K62 */ be_nested_str_weak(MTR_X3A_X20initiatorFabricId_X3D),
|
/* K62 */ be_nested_str_weak(tobytes),
|
||||||
/* K63 */ be_nested_str_weak(Matter_TLV_struct),
|
/* K63 */ be_nested_str_weak(MTR_X3A_X20initiatorFabricId_X3D),
|
||||||
/* K64 */ be_nested_str_weak(add_TLV),
|
/* K64 */ be_nested_str_weak(Matter_TLV_struct),
|
||||||
/* K65 */ be_nested_str_weak(B1),
|
/* K65 */ be_nested_str_weak(add_TLV),
|
||||||
/* K66 */ be_nested_str_weak(__initiator_pub),
|
/* K66 */ be_nested_str_weak(B1),
|
||||||
/* K67 */ be_nested_str_weak(__responder_pub),
|
/* K67 */ be_nested_str_weak(__initiator_pub),
|
||||||
/* K68 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20sigma3_tbs_X20_X20_X20_X20_X3D_X20),
|
/* K68 */ be_nested_str_weak(__responder_pub),
|
||||||
/* K69 */ be_nested_str_weak(tlv2raw),
|
/* K69 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20sigma3_tbs_X20_X20_X20_X20_X3D_X20),
|
||||||
/* K70 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20sigma3_tbs_raw_X3D_X20),
|
/* K70 */ be_nested_str_weak(tlv2raw),
|
||||||
/* K71 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20initiatorNOCPubKey_X3D_X20),
|
/* K71 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20sigma3_tbs_raw_X3D_X20),
|
||||||
/* K72 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20ec_signature_X20_X20_X20_X20_X20_X20_X3D_X20),
|
/* K72 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20initiatorNOCPubKey_X3D_X20),
|
||||||
/* K73 */ be_nested_str_weak(EC_P256),
|
/* K73 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20ec_signature_X20_X20_X20_X20_X20_X20_X3D_X20),
|
||||||
/* K74 */ be_nested_str_weak(ecdsa_verify_sha256),
|
/* K74 */ be_nested_str_weak(EC_P256),
|
||||||
/* K75 */ be_nested_str_weak(MTR_X3A_X20sigma3_tbs_X20does_X20not_X20have_X20a_X20valid_X20signature),
|
/* K75 */ be_nested_str_weak(ecdsa_verify_sha256),
|
||||||
/* K76 */ be_nested_str_weak(MTR_X3A_X20Sigma3_X20verified_X2C_X20computing_X20new_X20keys),
|
/* K76 */ be_nested_str_weak(MTR_X3A_X20sigma3_tbs_X20does_X20not_X20have_X20a_X20valid_X20signature),
|
||||||
/* K77 */ be_nested_str_weak(Msg3),
|
/* K77 */ be_nested_str_weak(MTR_X3A_X20_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X20Invalid_X20signature_X2C_X20trying_X20anyways),
|
||||||
/* K78 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20__Msg1_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X3D_X20),
|
/* K78 */ be_nested_str_weak(MTR_X3A_X20Sigma3_X20verified_X2C_X20computing_X20new_X20keys),
|
||||||
/* K79 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20__Msg2_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X3D_X20),
|
/* K79 */ be_nested_str_weak(Msg3),
|
||||||
/* K80 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20__Msg3_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X3D_X20),
|
/* K80 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20__Msg1_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X3D_X20),
|
||||||
/* K81 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20TranscriptHash_X20_X20_X20_X20_X3D_X20),
|
/* K81 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20__Msg2_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X3D_X20),
|
||||||
/* K82 */ be_nested_str_weak(MTR_X3A_X20_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A),
|
/* K82 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20__Msg3_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X3D_X20),
|
||||||
/* K83 */ be_nested_str_weak(MTR_X3A_X20shared_secret_X20_X3D),
|
/* K83 */ be_nested_str_weak(MTR_X3A_X20_X2A_X20TranscriptHash_X20_X20_X20_X20_X3D_X20),
|
||||||
/* K84 */ be_nested_str_weak(MTR_X3A_X20ipk_X20_X2B_X20hash_X20_X20_X20_X20_X3D),
|
/* K84 */ be_nested_str_weak(MTR_X3A_X20_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A),
|
||||||
/* K85 */ be_nested_str_weak(SEKeys_Info),
|
/* K85 */ be_nested_str_weak(MTR_X3A_X20shared_secret_X20_X3D),
|
||||||
/* K86 */ be_nested_str_weak(rtc),
|
/* K86 */ be_nested_str_weak(MTR_X3A_X20ipk_X20_X2B_X20hash_X20_X20_X20_X20_X3D),
|
||||||
/* K87 */ be_nested_str_weak(utc),
|
/* K87 */ be_nested_str_weak(SEKeys_Info),
|
||||||
/* K88 */ be_nested_str_weak(MTR_X3A_X20I2RKey_X20_X20_X20_X20_X20_X20_X3D),
|
/* K88 */ be_nested_str_weak(rtc),
|
||||||
/* K89 */ be_nested_str_weak(MTR_X3A_X20R2IKey_X20_X20_X20_X20_X20_X20_X3D),
|
/* K89 */ be_nested_str_weak(utc),
|
||||||
/* K90 */ be_nested_str_weak(MTR_X3A_X20AC_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X3D),
|
/* K90 */ be_nested_str_weak(MTR_X3A_X20I2RKey_X20_X20_X20_X20_X20_X20_X3D),
|
||||||
/* K91 */ be_nested_str_weak(close),
|
/* K91 */ be_nested_str_weak(MTR_X3A_X20R2IKey_X20_X20_X20_X20_X20_X20_X3D),
|
||||||
/* K92 */ be_nested_str_weak(set_keys),
|
/* K92 */ be_nested_str_weak(MTR_X3A_X20AC_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X3D),
|
||||||
/* K93 */ be_nested_str_weak(_breadcrumb),
|
/* K93 */ be_nested_str_weak(close),
|
||||||
/* K94 */ be_nested_str_weak(counter_snd_next),
|
/* K94 */ be_nested_str_weak(set_keys),
|
||||||
/* K95 */ be_nested_str_weak(set_persist),
|
/* K95 */ be_nested_str_weak(_breadcrumb),
|
||||||
/* K96 */ be_nested_str_weak(set_no_expiration),
|
/* K96 */ be_nested_str_weak(counter_snd_next),
|
||||||
/* K97 */ be_nested_str_weak(persist_to_fabric),
|
/* K97 */ be_nested_str_weak(set_persist),
|
||||||
/* K98 */ be_nested_str_weak(save),
|
/* K98 */ be_nested_str_weak(set_no_expiration),
|
||||||
|
/* K99 */ be_nested_str_weak(persist_to_fabric),
|
||||||
|
/* K100 */ be_nested_str_weak(save),
|
||||||
}),
|
}),
|
||||||
be_str_weak(parse_Sigma3),
|
be_str_weak(parse_Sigma3),
|
||||||
&be_const_str_solidified,
|
&be_const_str_solidified,
|
||||||
( &(const binstruction[558]) { /* code */
|
( &(const binstruction[554]) { /* code */
|
||||||
0xA40A0000, // 0000 IMPORT R2 K0
|
0xA40A0000, // 0000 IMPORT R2 K0
|
||||||
0x880C0301, // 0001 GETMBR R3 R1 K1
|
0x880C0301, // 0001 GETMBR R3 R1 K1
|
||||||
0x54120031, // 0002 LDINT R4 50
|
0x54120031, // 0002 LDINT R4 50
|
||||||
@ -1291,284 +1271,280 @@ be_local_closure(Matter_Commisioning_Context_parse_Sigma3, /* name */
|
|||||||
0x5C582800, // 0115 MOVE R22 R20
|
0x5C582800, // 0115 MOVE R22 R20
|
||||||
0x7C540200, // 0116 CALL R21 1
|
0x7C540200, // 0116 CALL R21 1
|
||||||
0x1C542B3A, // 0117 EQ R21 R21 K58
|
0x1C542B3A, // 0117 EQ R21 R21 K58
|
||||||
0x78560003, // 0118 JMPF R21 #011D
|
0x78560007, // 0118 JMPF R21 #0121
|
||||||
0xB8567600, // 0119 GETNGBL R21 K59
|
0xB8567800, // 0119 GETNGBL R21 K60
|
||||||
0x5C582800, // 011A MOVE R22 R20
|
0x8C542B3D, // 011A GETMET R21 R21 K61
|
||||||
0x7C540200, // 011B CALL R21 1
|
0x5C5C2800, // 011B MOVE R23 R20
|
||||||
0x5C502A00, // 011C MOVE R20 R21
|
0x7C540400, // 011C CALL R21 2
|
||||||
0x8C54293D, // 011D GETMET R21 R20 K61
|
0x8C542B3E, // 011D GETMET R21 R21 K62
|
||||||
0x7C540200, // 011E CALL R21 1
|
0x7C540200, // 011E CALL R21 1
|
||||||
0x900E7815, // 011F SETMBR R3 K60 R21
|
0x900E7615, // 011F SETMBR R3 K59 R21
|
||||||
0xB8560A00, // 0120 GETNGBL R21 K5
|
0x70020002, // 0120 JMP #0124
|
||||||
0x8C542B06, // 0121 GETMET R21 R21 K6
|
0x8C54293E, // 0121 GETMET R21 R20 K62
|
||||||
0x605C0008, // 0122 GETGBL R23 G8
|
0x7C540200, // 0122 CALL R21 1
|
||||||
0x8860073C, // 0123 GETMBR R24 R3 K60
|
0x900E7615, // 0123 SETMBR R3 K59 R21
|
||||||
0x7C5C0200, // 0124 CALL R23 1
|
0xB8560A00, // 0124 GETNGBL R21 K5
|
||||||
0x005E7C17, // 0125 ADD R23 K62 R23
|
0x8C542B06, // 0125 GETMET R21 R21 K6
|
||||||
0x58600034, // 0126 LDCONST R24 K52
|
0x605C0008, // 0126 GETGBL R23 G8
|
||||||
0x7C540600, // 0127 CALL R21 3
|
0x8860073B, // 0127 GETMBR R24 R3 K59
|
||||||
0xB8561800, // 0128 GETNGBL R21 K12
|
0x7C5C0200, // 0128 CALL R23 1
|
||||||
0x88542B31, // 0129 GETMBR R21 R21 K49
|
0x005E7E17, // 0129 ADD R23 K63 R23
|
||||||
0x8C542B3F, // 012A GETMET R21 R21 K63
|
0x58600034, // 012A LDCONST R24 K52
|
||||||
0x7C540200, // 012B CALL R21 1
|
0x7C540600, // 012B CALL R21 3
|
||||||
0x8C582B40, // 012C GETMET R22 R21 K64
|
0xB8561800, // 012C GETNGBL R21 K12
|
||||||
0x5860000A, // 012D LDCONST R24 K10
|
0x88542B31, // 012D GETMBR R21 R21 K49
|
||||||
0xB8661800, // 012E GETNGBL R25 K12
|
0x8C542B40, // 012E GETMET R21 R21 K64
|
||||||
0x88643331, // 012F GETMBR R25 R25 K49
|
0x7C540200, // 012F CALL R21 1
|
||||||
0x88643341, // 0130 GETMBR R25 R25 K65
|
0x8C582B41, // 0130 GETMET R22 R21 K65
|
||||||
0x5C681C00, // 0131 MOVE R26 R14
|
0x5860000A, // 0131 LDCONST R24 K10
|
||||||
0x7C580800, // 0132 CALL R22 4
|
0xB8661800, // 0132 GETNGBL R25 K12
|
||||||
0x8C582B40, // 0133 GETMET R22 R21 K64
|
0x88643331, // 0133 GETMBR R25 R25 K49
|
||||||
0x58600008, // 0134 LDCONST R24 K8
|
0x88643342, // 0134 GETMBR R25 R25 K66
|
||||||
0xB8661800, // 0135 GETNGBL R25 K12
|
0x5C681C00, // 0135 MOVE R26 R14
|
||||||
0x88643331, // 0136 GETMBR R25 R25 K49
|
0x7C580800, // 0136 CALL R22 4
|
||||||
0x88643341, // 0137 GETMBR R25 R25 K65
|
0x8C582B41, // 0137 GETMET R22 R21 K65
|
||||||
0x5C681E00, // 0138 MOVE R26 R15
|
0x58600008, // 0138 LDCONST R24 K8
|
||||||
0x7C580800, // 0139 CALL R22 4
|
0xB8661800, // 0139 GETNGBL R25 K12
|
||||||
0x8C582B40, // 013A GETMET R22 R21 K64
|
0x88643331, // 013A GETMBR R25 R25 K49
|
||||||
0x58600034, // 013B LDCONST R24 K52
|
0x88643342, // 013B GETMBR R25 R25 K66
|
||||||
0xB8661800, // 013C GETNGBL R25 K12
|
0x5C681E00, // 013C MOVE R26 R15
|
||||||
0x88643331, // 013D GETMBR R25 R25 K49
|
0x7C580800, // 013D CALL R22 4
|
||||||
0x88643341, // 013E GETMBR R25 R25 K65
|
0x8C582B41, // 013E GETMET R22 R21 K65
|
||||||
0x88680742, // 013F GETMBR R26 R3 K66
|
0x58600034, // 013F LDCONST R24 K52
|
||||||
0x7C580800, // 0140 CALL R22 4
|
0xB8661800, // 0140 GETNGBL R25 K12
|
||||||
0x8C582B40, // 0141 GETMET R22 R21 K64
|
0x88643331, // 0141 GETMBR R25 R25 K49
|
||||||
0x54620003, // 0142 LDINT R24 4
|
0x88643342, // 0142 GETMBR R25 R25 K66
|
||||||
0xB8661800, // 0143 GETNGBL R25 K12
|
0x88680743, // 0143 GETMBR R26 R3 K67
|
||||||
0x88643331, // 0144 GETMBR R25 R25 K49
|
0x7C580800, // 0144 CALL R22 4
|
||||||
0x88643341, // 0145 GETMBR R25 R25 K65
|
0x8C582B41, // 0145 GETMET R22 R21 K65
|
||||||
0x88680743, // 0146 GETMBR R26 R3 K67
|
0x54620003, // 0146 LDINT R24 4
|
||||||
0x7C580800, // 0147 CALL R22 4
|
0xB8661800, // 0147 GETNGBL R25 K12
|
||||||
0xB85A0A00, // 0148 GETNGBL R22 K5
|
0x88643331, // 0148 GETMBR R25 R25 K49
|
||||||
0x8C582D06, // 0149 GETMET R22 R22 K6
|
0x88643342, // 0149 GETMBR R25 R25 K66
|
||||||
0x60600008, // 014A GETGBL R24 G8
|
0x88680744, // 014A GETMBR R26 R3 K68
|
||||||
0x5C642A00, // 014B MOVE R25 R21
|
0x7C580800, // 014B CALL R22 4
|
||||||
0x7C600200, // 014C CALL R24 1
|
0xB85A0A00, // 014C GETNGBL R22 K5
|
||||||
0x00628818, // 014D ADD R24 K68 R24
|
0x8C582D06, // 014D GETMET R22 R22 K6
|
||||||
0x54660003, // 014E LDINT R25 4
|
0x60600008, // 014E GETGBL R24 G8
|
||||||
0x7C580600, // 014F CALL R22 3
|
0x5C642A00, // 014F MOVE R25 R21
|
||||||
0x8C582B45, // 0150 GETMET R22 R21 K69
|
0x7C600200, // 0150 CALL R24 1
|
||||||
0x7C580200, // 0151 CALL R22 1
|
0x00628A18, // 0151 ADD R24 K69 R24
|
||||||
0xB85E0A00, // 0152 GETNGBL R23 K5
|
0x54660003, // 0152 LDINT R25 4
|
||||||
0x8C5C2F06, // 0153 GETMET R23 R23 K6
|
0x7C580600, // 0153 CALL R22 3
|
||||||
0x8C642D1E, // 0154 GETMET R25 R22 K30
|
0x8C582B46, // 0154 GETMET R22 R21 K70
|
||||||
0x7C640200, // 0155 CALL R25 1
|
0x7C580200, // 0155 CALL R22 1
|
||||||
0x00668C19, // 0156 ADD R25 K70 R25
|
0xB85E0A00, // 0156 GETNGBL R23 K5
|
||||||
0x546A0003, // 0157 LDINT R26 4
|
0x8C5C2F06, // 0157 GETMET R23 R23 K6
|
||||||
0x7C5C0600, // 0158 CALL R23 3
|
0x8C642D1E, // 0158 GETMET R25 R22 K30
|
||||||
0xB85E0A00, // 0159 GETNGBL R23 K5
|
0x7C640200, // 0159 CALL R25 1
|
||||||
0x8C5C2F06, // 015A GETMET R23 R23 K6
|
0x00668E19, // 015A ADD R25 K71 R25
|
||||||
0x8C64251E, // 015B GETMET R25 R18 K30
|
0x546A0003, // 015B LDINT R26 4
|
||||||
0x7C640200, // 015C CALL R25 1
|
0x7C5C0600, // 015C CALL R23 3
|
||||||
0x00668E19, // 015D ADD R25 K71 R25
|
0xB85E0A00, // 015D GETNGBL R23 K5
|
||||||
0x546A0003, // 015E LDINT R26 4
|
0x8C5C2F06, // 015E GETMET R23 R23 K6
|
||||||
0x7C5C0600, // 015F CALL R23 3
|
0x8C64251E, // 015F GETMET R25 R18 K30
|
||||||
0xB85E0A00, // 0160 GETNGBL R23 K5
|
0x7C640200, // 0160 CALL R25 1
|
||||||
0x8C5C2F06, // 0161 GETMET R23 R23 K6
|
0x00669019, // 0161 ADD R25 K72 R25
|
||||||
0x8C64211E, // 0162 GETMET R25 R16 K30
|
0x546A0003, // 0162 LDINT R26 4
|
||||||
0x7C640200, // 0163 CALL R25 1
|
0x7C5C0600, // 0163 CALL R23 3
|
||||||
0x00669019, // 0164 ADD R25 K72 R25
|
0xB85E0A00, // 0164 GETNGBL R23 K5
|
||||||
0x546A0003, // 0165 LDINT R26 4
|
0x8C5C2F06, // 0165 GETMET R23 R23 K6
|
||||||
0x7C5C0600, // 0166 CALL R23 3
|
0x8C64211E, // 0166 GETMET R25 R16 K30
|
||||||
0xB85E0A00, // 0167 GETNGBL R23 K5
|
0x7C640200, // 0167 CALL R25 1
|
||||||
0x8C5C2F06, // 0168 GETMET R23 R23 K6
|
0x00669219, // 0168 ADD R25 K73 R25
|
||||||
0x58640011, // 0169 LDCONST R25 K17
|
0x546A0003, // 0169 LDINT R26 4
|
||||||
0x546A0003, // 016A LDINT R26 4
|
0x7C5C0600, // 016A CALL R23 3
|
||||||
0x7C5C0600, // 016B CALL R23 3
|
0xB85E0A00, // 016B GETNGBL R23 K5
|
||||||
0x8C5C0549, // 016C GETMET R23 R2 K73
|
0x8C5C2F06, // 016C GETMET R23 R23 K6
|
||||||
0x7C5C0200, // 016D CALL R23 1
|
0x58640011, // 016D LDCONST R25 K17
|
||||||
0x8C5C2F4A, // 016E GETMET R23 R23 K74
|
0x546A0003, // 016E LDINT R26 4
|
||||||
0x5C642400, // 016F MOVE R25 R18
|
0x7C5C0600, // 016F CALL R23 3
|
||||||
0x5C682C00, // 0170 MOVE R26 R22
|
0x8C5C054A, // 0170 GETMET R23 R2 K74
|
||||||
0x5C6C2000, // 0171 MOVE R27 R16
|
0x7C5C0200, // 0171 CALL R23 1
|
||||||
0x7C5C0800, // 0172 CALL R23 4
|
0x8C5C2F4B, // 0172 GETMET R23 R23 K75
|
||||||
0x5C602E00, // 0173 MOVE R24 R23
|
0x5C642400, // 0173 MOVE R25 R18
|
||||||
0x74620012, // 0174 JMPT R24 #0188
|
0x5C682C00, // 0174 MOVE R26 R22
|
||||||
0xB8620A00, // 0175 GETNGBL R24 K5
|
0x5C6C2000, // 0175 MOVE R27 R16
|
||||||
0x8C603106, // 0176 GETMET R24 R24 K6
|
0x7C5C0800, // 0176 CALL R23 4
|
||||||
0x5868004B, // 0177 LDCONST R26 K75
|
0x5C602E00, // 0177 MOVE R24 R23
|
||||||
0x586C0008, // 0178 LDCONST R27 K8
|
0x7462000A, // 0178 JMPT R24 #0184
|
||||||
0x7C600600, // 0179 CALL R24 3
|
0xB8620A00, // 0179 GETNGBL R24 K5
|
||||||
0xB8620A00, // 017A GETNGBL R24 K5
|
0x8C603106, // 017A GETMET R24 R24 K6
|
||||||
0x8C603106, // 017B GETMET R24 R24 K6
|
0x5868004C, // 017B LDCONST R26 K76
|
||||||
0x58680007, // 017C LDCONST R26 K7
|
0x586C0008, // 017C LDCONST R27 K8
|
||||||
0x586C0008, // 017D LDCONST R27 K8
|
0x7C600600, // 017D CALL R24 3
|
||||||
0x7C600600, // 017E CALL R24 3
|
0xB8620A00, // 017E GETNGBL R24 K5
|
||||||
0x8C600109, // 017F GETMET R24 R0 K9
|
0x8C603106, // 017F GETMET R24 R24 K6
|
||||||
0x5C680200, // 0180 MOVE R26 R1
|
0x5868004D, // 0180 LDCONST R26 K77
|
||||||
0x586C000A, // 0181 LDCONST R27 K10
|
0x586C0008, // 0181 LDCONST R27 K8
|
||||||
0x58700003, // 0182 LDCONST R28 K3
|
0x7C600600, // 0182 CALL R24 3
|
||||||
0x58740008, // 0183 LDCONST R29 K8
|
0x70020004, // 0183 JMP #0189
|
||||||
0x50780000, // 0184 LDBOOL R30 0 0
|
0xB8620A00, // 0184 GETNGBL R24 K5
|
||||||
0x7C600C00, // 0185 CALL R24 6
|
0x8C603106, // 0185 GETMET R24 R24 K6
|
||||||
0x50640000, // 0186 LDBOOL R25 0 0
|
0x5868004E, // 0186 LDCONST R26 K78
|
||||||
0x80043200, // 0187 RET 1 R25
|
0x586C0034, // 0187 LDCONST R27 K52
|
||||||
0xB8620A00, // 0188 GETNGBL R24 K5
|
0x7C600600, // 0188 CALL R24 3
|
||||||
0x8C603106, // 0189 GETMET R24 R24 K6
|
0x8C600512, // 0189 GETMET R24 R2 K18
|
||||||
0x5868004C, // 018A LDCONST R26 K76
|
0x7C600200, // 018A CALL R24 1
|
||||||
0x586C0034, // 018B LDCONST R27 K52
|
0x8C603113, // 018B GETMET R24 R24 K19
|
||||||
0x7C600600, // 018C CALL R24 3
|
0x88680714, // 018C GETMBR R26 R3 K20
|
||||||
0x8C600512, // 018D GETMET R24 R2 K18
|
0x7C600400, // 018D CALL R24 2
|
||||||
0x7C600200, // 018E CALL R24 1
|
0x8C603113, // 018E GETMET R24 R24 K19
|
||||||
0x8C603113, // 018F GETMET R24 R24 K19
|
0x88680715, // 018F GETMBR R26 R3 K21
|
||||||
0x88680714, // 0190 GETMBR R26 R3 K20
|
0x7C600400, // 0190 CALL R24 2
|
||||||
0x7C600400, // 0191 CALL R24 2
|
0x8C603113, // 0191 GETMET R24 R24 K19
|
||||||
0x8C603113, // 0192 GETMET R24 R24 K19
|
0x8868094F, // 0192 GETMBR R26 R4 K79
|
||||||
0x88680715, // 0193 GETMBR R26 R3 K21
|
0x7C600400, // 0193 CALL R24 2
|
||||||
0x7C600400, // 0194 CALL R24 2
|
0x8C603116, // 0194 GETMET R24 R24 K22
|
||||||
0x8C603113, // 0195 GETMET R24 R24 K19
|
0x7C600200, // 0195 CALL R24 1
|
||||||
0x8868094D, // 0196 GETMBR R26 R4 K77
|
0x5C143000, // 0196 MOVE R5 R24
|
||||||
0x7C600400, // 0197 CALL R24 2
|
0xB8620A00, // 0197 GETNGBL R24 K5
|
||||||
0x8C603116, // 0198 GETMET R24 R24 K22
|
0x8C603106, // 0198 GETMET R24 R24 K6
|
||||||
0x7C600200, // 0199 CALL R24 1
|
0x88680714, // 0199 GETMBR R26 R3 K20
|
||||||
0x5C143000, // 019A MOVE R5 R24
|
0x8C68351E, // 019A GETMET R26 R26 K30
|
||||||
0xB8620A00, // 019B GETNGBL R24 K5
|
0x7C680200, // 019B CALL R26 1
|
||||||
0x8C603106, // 019C GETMET R24 R24 K6
|
0x006AA01A, // 019C ADD R26 K80 R26
|
||||||
0x88680714, // 019D GETMBR R26 R3 K20
|
0x546E0003, // 019D LDINT R27 4
|
||||||
0x8C68351E, // 019E GETMET R26 R26 K30
|
0x7C600600, // 019E CALL R24 3
|
||||||
0x7C680200, // 019F CALL R26 1
|
0xB8620A00, // 019F GETNGBL R24 K5
|
||||||
0x006A9C1A, // 01A0 ADD R26 K78 R26
|
0x8C603106, // 01A0 GETMET R24 R24 K6
|
||||||
0x546E0003, // 01A1 LDINT R27 4
|
0x88680715, // 01A1 GETMBR R26 R3 K21
|
||||||
0x7C600600, // 01A2 CALL R24 3
|
0x8C68351E, // 01A2 GETMET R26 R26 K30
|
||||||
0xB8620A00, // 01A3 GETNGBL R24 K5
|
0x7C680200, // 01A3 CALL R26 1
|
||||||
0x8C603106, // 01A4 GETMET R24 R24 K6
|
0x006AA21A, // 01A4 ADD R26 K81 R26
|
||||||
0x88680715, // 01A5 GETMBR R26 R3 K21
|
0x546E0003, // 01A5 LDINT R27 4
|
||||||
0x8C68351E, // 01A6 GETMET R26 R26 K30
|
0x7C600600, // 01A6 CALL R24 3
|
||||||
0x7C680200, // 01A7 CALL R26 1
|
0xB8620A00, // 01A7 GETNGBL R24 K5
|
||||||
0x006A9E1A, // 01A8 ADD R26 K79 R26
|
0x8C603106, // 01A8 GETMET R24 R24 K6
|
||||||
0x546E0003, // 01A9 LDINT R27 4
|
0x8868094F, // 01A9 GETMBR R26 R4 K79
|
||||||
0x7C600600, // 01AA CALL R24 3
|
0x8C68351E, // 01AA GETMET R26 R26 K30
|
||||||
0xB8620A00, // 01AB GETNGBL R24 K5
|
0x7C680200, // 01AB CALL R26 1
|
||||||
0x8C603106, // 01AC GETMET R24 R24 K6
|
0x006AA41A, // 01AC ADD R26 K82 R26
|
||||||
0x8868094D, // 01AD GETMBR R26 R4 K77
|
0x546E0003, // 01AD LDINT R27 4
|
||||||
0x8C68351E, // 01AE GETMET R26 R26 K30
|
0x7C600600, // 01AE CALL R24 3
|
||||||
0x7C680200, // 01AF CALL R26 1
|
0xB8620A00, // 01AF GETNGBL R24 K5
|
||||||
0x006AA01A, // 01B0 ADD R26 K80 R26
|
0x8C603106, // 01B0 GETMET R24 R24 K6
|
||||||
0x546E0003, // 01B1 LDINT R27 4
|
0x8C680B1E, // 01B1 GETMET R26 R5 K30
|
||||||
0x7C600600, // 01B2 CALL R24 3
|
0x7C680200, // 01B2 CALL R26 1
|
||||||
0xB8620A00, // 01B3 GETNGBL R24 K5
|
0x006AA61A, // 01B3 ADD R26 K83 R26
|
||||||
0x8C603106, // 01B4 GETMET R24 R24 K6
|
0x546E0003, // 01B4 LDINT R27 4
|
||||||
0x8C680B1E, // 01B5 GETMET R26 R5 K30
|
0x7C600600, // 01B5 CALL R24 3
|
||||||
0x7C680200, // 01B6 CALL R26 1
|
0x4C600000, // 01B6 LDNIL R24
|
||||||
0x006AA21A, // 01B7 ADD R26 K81 R26
|
0x900E2818, // 01B7 SETMBR R3 K20 R24
|
||||||
0x546E0003, // 01B8 LDINT R27 4
|
0x4C600000, // 01B8 LDNIL R24
|
||||||
0x7C600600, // 01B9 CALL R24 3
|
0x900E2A18, // 01B9 SETMBR R3 K21 R24
|
||||||
0x4C600000, // 01BA LDNIL R24
|
0xB8620A00, // 01BA GETNGBL R24 K5
|
||||||
0x900E2818, // 01BB SETMBR R3 K20 R24
|
0x8C603106, // 01BB GETMET R24 R24 K6
|
||||||
0x4C600000, // 01BC LDNIL R24
|
0x58680054, // 01BC LDCONST R26 K84
|
||||||
0x900E2A18, // 01BD SETMBR R3 K21 R24
|
0x546E0003, // 01BD LDINT R27 4
|
||||||
0xB8620A00, // 01BE GETNGBL R24 K5
|
0x7C600600, // 01BE CALL R24 3
|
||||||
0x8C603106, // 01BF GETMET R24 R24 K6
|
0xB8620A00, // 01BF GETNGBL R24 K5
|
||||||
0x58680052, // 01C0 LDCONST R26 K82
|
0x8C603106, // 01C0 GETMET R24 R24 K6
|
||||||
0x546E0003, // 01C1 LDINT R27 4
|
0x88680724, // 01C1 GETMBR R26 R3 K36
|
||||||
0x7C600600, // 01C2 CALL R24 3
|
0x8C68351E, // 01C2 GETMET R26 R26 K30
|
||||||
0xB8620A00, // 01C3 GETNGBL R24 K5
|
0x7C680200, // 01C3 CALL R26 1
|
||||||
0x8C603106, // 01C4 GETMET R24 R24 K6
|
0x006AAA1A, // 01C4 ADD R26 K85 R26
|
||||||
0x88680724, // 01C5 GETMBR R26 R3 K36
|
0x546E0003, // 01C5 LDINT R27 4
|
||||||
0x8C68351E, // 01C6 GETMET R26 R26 K30
|
0x7C600600, // 01C6 CALL R24 3
|
||||||
0x7C680200, // 01C7 CALL R26 1
|
0xB8620A00, // 01C7 GETNGBL R24 K5
|
||||||
0x006AA61A, // 01C8 ADD R26 K83 R26
|
0x8C603106, // 01C8 GETMET R24 R24 K6
|
||||||
0x546E0003, // 01C9 LDINT R27 4
|
0x8C68071D, // 01C9 GETMET R26 R3 K29
|
||||||
0x7C600600, // 01CA CALL R24 3
|
0x7C680200, // 01CA CALL R26 1
|
||||||
0xB8620A00, // 01CB GETNGBL R24 K5
|
0x00683405, // 01CB ADD R26 R26 R5
|
||||||
0x8C603106, // 01CC GETMET R24 R24 K6
|
0x8C68351E, // 01CC GETMET R26 R26 K30
|
||||||
0x8C68071D, // 01CD GETMET R26 R3 K29
|
0x7C680200, // 01CD CALL R26 1
|
||||||
0x7C680200, // 01CE CALL R26 1
|
0x006AAC1A, // 01CE ADD R26 K86 R26
|
||||||
0x00683405, // 01CF ADD R26 R26 R5
|
0x546E0003, // 01CF LDINT R27 4
|
||||||
0x8C68351E, // 01D0 GETMET R26 R26 K30
|
0x7C600600, // 01D0 CALL R24 3
|
||||||
0x7C680200, // 01D1 CALL R26 1
|
0x8C600522, // 01D1 GETMET R24 R2 K34
|
||||||
0x006AA81A, // 01D2 ADD R26 K84 R26
|
0x7C600200, // 01D2 CALL R24 1
|
||||||
0x546E0003, // 01D3 LDINT R27 4
|
0x8C603123, // 01D3 GETMET R24 R24 K35
|
||||||
0x7C600600, // 01D4 CALL R24 3
|
0x88680724, // 01D4 GETMBR R26 R3 K36
|
||||||
0x8C600522, // 01D5 GETMET R24 R2 K34
|
0x8C6C071D, // 01D5 GETMET R27 R3 K29
|
||||||
0x7C600200, // 01D6 CALL R24 1
|
0x7C6C0200, // 01D6 CALL R27 1
|
||||||
0x8C603123, // 01D7 GETMET R24 R24 K35
|
0x006C3605, // 01D7 ADD R27 R27 R5
|
||||||
0x88680724, // 01D8 GETMBR R26 R3 K36
|
0x60700015, // 01D8 GETGBL R28 G21
|
||||||
0x8C6C071D, // 01D9 GETMET R27 R3 K29
|
0x7C700000, // 01D9 CALL R28 0
|
||||||
0x7C6C0200, // 01DA CALL R27 1
|
0x8C703920, // 01DA GETMET R28 R28 K32
|
||||||
0x006C3605, // 01DB ADD R27 R27 R5
|
0x88780157, // 01DB GETMBR R30 R0 K87
|
||||||
0x60700015, // 01DC GETGBL R28 G21
|
0x7C700400, // 01DC CALL R28 2
|
||||||
0x7C700000, // 01DD CALL R28 0
|
0x5476002F, // 01DD LDINT R29 48
|
||||||
0x8C703920, // 01DE GETMET R28 R28 K32
|
0x7C600A00, // 01DE CALL R24 5
|
||||||
0x88780155, // 01DF GETMBR R30 R0 K85
|
0x5466000E, // 01DF LDINT R25 15
|
||||||
0x7C700400, // 01E0 CALL R28 2
|
0x40660619, // 01E0 CONNECT R25 K3 R25
|
||||||
0x5476002F, // 01E1 LDINT R29 48
|
0x94643019, // 01E1 GETIDX R25 R24 R25
|
||||||
0x7C600A00, // 01E2 CALL R24 5
|
0x546A000F, // 01E2 LDINT R26 16
|
||||||
0x5466000E, // 01E3 LDINT R25 15
|
0x546E001E, // 01E3 LDINT R27 31
|
||||||
0x40660619, // 01E4 CONNECT R25 K3 R25
|
0x4068341B, // 01E4 CONNECT R26 R26 R27
|
||||||
0x94643019, // 01E5 GETIDX R25 R24 R25
|
0x9468301A, // 01E5 GETIDX R26 R24 R26
|
||||||
0x546A000F, // 01E6 LDINT R26 16
|
0x546E001F, // 01E6 LDINT R27 32
|
||||||
0x546E001E, // 01E7 LDINT R27 31
|
0x5472002E, // 01E7 LDINT R28 47
|
||||||
0x4068341B, // 01E8 CONNECT R26 R26 R27
|
0x406C361C, // 01E8 CONNECT R27 R27 R28
|
||||||
0x9468301A, // 01E9 GETIDX R26 R24 R26
|
0x946C301B, // 01E9 GETIDX R27 R24 R27
|
||||||
0x546E001F, // 01EA LDINT R27 32
|
0xB8720A00, // 01EA GETNGBL R28 K5
|
||||||
0x5472002E, // 01EB LDINT R28 47
|
0x8C703958, // 01EB GETMET R28 R28 K88
|
||||||
0x406C361C, // 01EC CONNECT R27 R27 R28
|
0x7C700200, // 01EC CALL R28 1
|
||||||
0x946C301B, // 01ED GETIDX R27 R24 R27
|
0x94703959, // 01ED GETIDX R28 R28 K89
|
||||||
0xB8720A00, // 01EE GETNGBL R28 K5
|
0xB8760A00, // 01EE GETNGBL R29 K5
|
||||||
0x8C703956, // 01EF GETMET R28 R28 K86
|
0x8C743B06, // 01EF GETMET R29 R29 K6
|
||||||
0x7C700200, // 01F0 CALL R28 1
|
0x587C0054, // 01F0 LDCONST R31 K84
|
||||||
0x94703957, // 01F1 GETIDX R28 R28 K87
|
0x54820003, // 01F1 LDINT R32 4
|
||||||
0xB8760A00, // 01F2 GETNGBL R29 K5
|
0x7C740600, // 01F2 CALL R29 3
|
||||||
0x8C743B06, // 01F3 GETMET R29 R29 K6
|
0xB8760A00, // 01F3 GETNGBL R29 K5
|
||||||
0x587C0052, // 01F4 LDCONST R31 K82
|
0x8C743B06, // 01F4 GETMET R29 R29 K6
|
||||||
0x54820003, // 01F5 LDINT R32 4
|
0x8C7C331E, // 01F5 GETMET R31 R25 K30
|
||||||
0x7C740600, // 01F6 CALL R29 3
|
0x7C7C0200, // 01F6 CALL R31 1
|
||||||
0xB8760A00, // 01F7 GETNGBL R29 K5
|
0x007EB41F, // 01F7 ADD R31 K90 R31
|
||||||
0x8C743B06, // 01F8 GETMET R29 R29 K6
|
0x54820003, // 01F8 LDINT R32 4
|
||||||
0x8C7C331E, // 01F9 GETMET R31 R25 K30
|
0x7C740600, // 01F9 CALL R29 3
|
||||||
0x7C7C0200, // 01FA CALL R31 1
|
0xB8760A00, // 01FA GETNGBL R29 K5
|
||||||
0x007EB01F, // 01FB ADD R31 K88 R31
|
0x8C743B06, // 01FB GETMET R29 R29 K6
|
||||||
0x54820003, // 01FC LDINT R32 4
|
0x8C7C351E, // 01FC GETMET R31 R26 K30
|
||||||
0x7C740600, // 01FD CALL R29 3
|
0x7C7C0200, // 01FD CALL R31 1
|
||||||
0xB8760A00, // 01FE GETNGBL R29 K5
|
0x007EB61F, // 01FE ADD R31 K91 R31
|
||||||
0x8C743B06, // 01FF GETMET R29 R29 K6
|
0x54820003, // 01FF LDINT R32 4
|
||||||
0x8C7C351E, // 0200 GETMET R31 R26 K30
|
0x7C740600, // 0200 CALL R29 3
|
||||||
0x7C7C0200, // 0201 CALL R31 1
|
0xB8760A00, // 0201 GETNGBL R29 K5
|
||||||
0x007EB21F, // 0202 ADD R31 K89 R31
|
0x8C743B06, // 0202 GETMET R29 R29 K6
|
||||||
0x54820003, // 0203 LDINT R32 4
|
0x8C7C371E, // 0203 GETMET R31 R27 K30
|
||||||
0x7C740600, // 0204 CALL R29 3
|
0x7C7C0200, // 0204 CALL R31 1
|
||||||
0xB8760A00, // 0205 GETNGBL R29 K5
|
0x007EB81F, // 0205 ADD R31 K92 R31
|
||||||
0x8C743B06, // 0206 GETMET R29 R29 K6
|
0x54820003, // 0206 LDINT R32 4
|
||||||
0x8C7C371E, // 0207 GETMET R31 R27 K30
|
0x7C740600, // 0207 CALL R29 3
|
||||||
0x7C7C0200, // 0208 CALL R31 1
|
0xB8760A00, // 0208 GETNGBL R29 K5
|
||||||
0x007EB41F, // 0209 ADD R31 K90 R31
|
0x8C743B06, // 0209 GETMET R29 R29 K6
|
||||||
0x54820003, // 020A LDINT R32 4
|
0x587C0054, // 020A LDCONST R31 K84
|
||||||
0x7C740600, // 020B CALL R29 3
|
0x54820003, // 020B LDINT R32 4
|
||||||
0xB8760A00, // 020C GETNGBL R29 K5
|
0x7C740600, // 020C CALL R29 3
|
||||||
0x8C743B06, // 020D GETMET R29 R29 K6
|
0x8C740109, // 020D GETMET R29 R0 K9
|
||||||
0x587C0052, // 020E LDCONST R31 K82
|
0x5C7C0200, // 020E MOVE R31 R1
|
||||||
0x54820003, // 020F LDINT R32 4
|
0x58800003, // 020F LDCONST R32 K3
|
||||||
0x7C740600, // 0210 CALL R29 3
|
0x58840003, // 0210 LDCONST R33 K3
|
||||||
0x8C740109, // 0211 GETMET R29 R0 K9
|
0x58880003, // 0211 LDCONST R34 K3
|
||||||
0x5C7C0200, // 0212 MOVE R31 R1
|
0x508C0200, // 0212 LDBOOL R35 1 0
|
||||||
0x58800003, // 0213 LDCONST R32 K3
|
0x7C740C00, // 0213 CALL R29 6
|
||||||
0x58840003, // 0214 LDCONST R33 K3
|
0x8C78075D, // 0214 GETMET R30 R3 K93
|
||||||
0x58880003, // 0215 LDCONST R34 K3
|
0x7C780200, // 0215 CALL R30 1
|
||||||
0x508C0200, // 0216 LDBOOL R35 1 0
|
0x8C78075E, // 0216 GETMET R30 R3 K94
|
||||||
0x7C740C00, // 0217 CALL R29 6
|
0x5C803200, // 0217 MOVE R32 R25
|
||||||
0x8C78075B, // 0218 GETMET R30 R3 K91
|
0x5C843400, // 0218 MOVE R33 R26
|
||||||
0x7C780200, // 0219 CALL R30 1
|
0x5C883600, // 0219 MOVE R34 R27
|
||||||
0x8C78075C, // 021A GETMET R30 R3 K92
|
0x5C8C3800, // 021A MOVE R35 R28
|
||||||
0x5C803200, // 021B MOVE R32 R25
|
0x7C780A00, // 021B CALL R30 5
|
||||||
0x5C843400, // 021C MOVE R33 R26
|
0x900EBF03, // 021C SETMBR R3 K95 K3
|
||||||
0x5C883600, // 021D MOVE R34 R27
|
0x8C780760, // 021D GETMET R30 R3 K96
|
||||||
0x5C8C3800, // 021E MOVE R35 R28
|
0x7C780200, // 021E CALL R30 1
|
||||||
0x7C780A00, // 021F CALL R30 5
|
0x8C780761, // 021F GETMET R30 R3 K97
|
||||||
0x900EBB03, // 0220 SETMBR R3 K93 K3
|
0x50800200, // 0220 LDBOOL R32 1 0
|
||||||
0x8C78075E, // 0221 GETMET R30 R3 K94
|
0x7C780400, // 0221 CALL R30 2
|
||||||
0x7C780200, // 0222 CALL R30 1
|
0x8C780762, // 0222 GETMET R30 R3 K98
|
||||||
0x8C78075F, // 0223 GETMET R30 R3 K95
|
0x7C780200, // 0223 CALL R30 1
|
||||||
0x50800200, // 0224 LDBOOL R32 1 0
|
0x8C780763, // 0224 GETMET R30 R3 K99
|
||||||
0x7C780400, // 0225 CALL R30 2
|
0x7C780200, // 0225 CALL R30 1
|
||||||
0x8C780760, // 0226 GETMET R30 R3 K96
|
0x8C780764, // 0226 GETMET R30 R3 K100
|
||||||
0x7C780200, // 0227 CALL R30 1
|
0x7C780200, // 0227 CALL R30 1
|
||||||
0x8C780761, // 0228 GETMET R30 R3 K97
|
0x50780200, // 0228 LDBOOL R30 1 0
|
||||||
0x7C780200, // 0229 CALL R30 1
|
0x80043C00, // 0229 RET 1 R30
|
||||||
0x8C780762, // 022A GETMET R30 R3 K98
|
|
||||||
0x7C780200, // 022B CALL R30 1
|
|
||||||
0x50780200, // 022C LDBOOL R30 1 0
|
|
||||||
0x80043C00, // 022D RET 1 R30
|
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
@ -263,7 +263,7 @@ extern const bclass be_class_Matter_Pake1;
|
|||||||
********************************************************************/
|
********************************************************************/
|
||||||
be_local_closure(Matter_Pake1_parse, /* name */
|
be_local_closure(Matter_Pake1_parse, /* name */
|
||||||
be_nested_proto(
|
be_nested_proto(
|
||||||
8, /* nstack */
|
7, /* nstack */
|
||||||
3, /* argc */
|
3, /* argc */
|
||||||
2, /* varg */
|
2, /* varg */
|
||||||
0, /* has upvals */
|
0, /* has upvals */
|
||||||
@ -271,21 +271,18 @@ be_local_closure(Matter_Pake1_parse, /* name */
|
|||||||
0, /* has sup protos */
|
0, /* has sup protos */
|
||||||
NULL, /* no sub protos */
|
NULL, /* no sub protos */
|
||||||
1, /* has constants */
|
1, /* has constants */
|
||||||
( &(const bvalue[10]) { /* constants */
|
( &(const bvalue[ 7]) { /* constants */
|
||||||
/* K0 */ be_const_int(0),
|
/* K0 */ be_const_int(0),
|
||||||
/* K1 */ be_nested_str_weak(matter),
|
/* K1 */ be_nested_str_weak(matter),
|
||||||
/* K2 */ be_nested_str_weak(TLV),
|
/* K2 */ be_nested_str_weak(TLV),
|
||||||
/* K3 */ be_nested_str_weak(parse),
|
/* K3 */ be_nested_str_weak(parse),
|
||||||
/* K4 */ be_nested_str_weak(tasmota),
|
/* K4 */ be_nested_str_weak(pA),
|
||||||
/* K5 */ be_nested_str_weak(log),
|
/* K5 */ be_nested_str_weak(getsubval),
|
||||||
/* K6 */ be_nested_str_weak(MTR_X3A_X20parsed_X20TLV_X3A_X20),
|
/* K6 */ be_const_int(1),
|
||||||
/* K7 */ be_nested_str_weak(pA),
|
|
||||||
/* K8 */ be_nested_str_weak(getsubval),
|
|
||||||
/* K9 */ be_const_int(1),
|
|
||||||
}),
|
}),
|
||||||
be_str_weak(parse),
|
be_str_weak(parse),
|
||||||
&be_const_str_solidified,
|
&be_const_str_solidified,
|
||||||
( &(const binstruction[23]) { /* code */
|
( &(const binstruction[15]) { /* code */
|
||||||
0x4C0C0000, // 0000 LDNIL R3
|
0x4C0C0000, // 0000 LDNIL R3
|
||||||
0x1C0C0403, // 0001 EQ R3 R2 R3
|
0x1C0C0403, // 0001 EQ R3 R2 R3
|
||||||
0x780E0000, // 0002 JMPF R3 #0004
|
0x780E0000, // 0002 JMPF R3 #0004
|
||||||
@ -296,19 +293,11 @@ be_local_closure(Matter_Pake1_parse, /* name */
|
|||||||
0x5C140200, // 0007 MOVE R5 R1
|
0x5C140200, // 0007 MOVE R5 R1
|
||||||
0x5C180400, // 0008 MOVE R6 R2
|
0x5C180400, // 0008 MOVE R6 R2
|
||||||
0x7C0C0600, // 0009 CALL R3 3
|
0x7C0C0600, // 0009 CALL R3 3
|
||||||
0xB8120800, // 000A GETNGBL R4 K4
|
0x8C100705, // 000A GETMET R4 R3 K5
|
||||||
0x8C100905, // 000B GETMET R4 R4 K5
|
0x58180006, // 000B LDCONST R6 K6
|
||||||
0x60180008, // 000C GETGBL R6 G8
|
0x7C100400, // 000C CALL R4 2
|
||||||
0x5C1C0600, // 000D MOVE R7 R3
|
0x90020804, // 000D SETMBR R0 K4 R4
|
||||||
0x7C180200, // 000E CALL R6 1
|
0x80040000, // 000E RET 1 R0
|
||||||
0x001A0C06, // 000F ADD R6 K6 R6
|
|
||||||
0x541E0003, // 0010 LDINT R7 4
|
|
||||||
0x7C100600, // 0011 CALL R4 3
|
|
||||||
0x8C100708, // 0012 GETMET R4 R3 K8
|
|
||||||
0x58180009, // 0013 LDCONST R6 K9
|
|
||||||
0x7C100400, // 0014 CALL R4 2
|
|
||||||
0x90020E04, // 0015 SETMBR R0 K7 R4
|
|
||||||
0x80040000, // 0016 RET 1 R0
|
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -423,7 +412,7 @@ extern const bclass be_class_Matter_Pake3;
|
|||||||
********************************************************************/
|
********************************************************************/
|
||||||
be_local_closure(Matter_Pake3_parse, /* name */
|
be_local_closure(Matter_Pake3_parse, /* name */
|
||||||
be_nested_proto(
|
be_nested_proto(
|
||||||
8, /* nstack */
|
7, /* nstack */
|
||||||
3, /* argc */
|
3, /* argc */
|
||||||
2, /* varg */
|
2, /* varg */
|
||||||
0, /* has upvals */
|
0, /* has upvals */
|
||||||
@ -431,21 +420,18 @@ be_local_closure(Matter_Pake3_parse, /* name */
|
|||||||
0, /* has sup protos */
|
0, /* has sup protos */
|
||||||
NULL, /* no sub protos */
|
NULL, /* no sub protos */
|
||||||
1, /* has constants */
|
1, /* has constants */
|
||||||
( &(const bvalue[10]) { /* constants */
|
( &(const bvalue[ 7]) { /* constants */
|
||||||
/* K0 */ be_const_int(0),
|
/* K0 */ be_const_int(0),
|
||||||
/* K1 */ be_nested_str_weak(matter),
|
/* K1 */ be_nested_str_weak(matter),
|
||||||
/* K2 */ be_nested_str_weak(TLV),
|
/* K2 */ be_nested_str_weak(TLV),
|
||||||
/* K3 */ be_nested_str_weak(parse),
|
/* K3 */ be_nested_str_weak(parse),
|
||||||
/* K4 */ be_nested_str_weak(tasmota),
|
/* K4 */ be_nested_str_weak(cA),
|
||||||
/* K5 */ be_nested_str_weak(log),
|
/* K5 */ be_nested_str_weak(getsubval),
|
||||||
/* K6 */ be_nested_str_weak(MTR_X3A_X20parsed_X20TLV_X3A_X20),
|
/* K6 */ be_const_int(1),
|
||||||
/* K7 */ be_nested_str_weak(cA),
|
|
||||||
/* K8 */ be_nested_str_weak(getsubval),
|
|
||||||
/* K9 */ be_const_int(1),
|
|
||||||
}),
|
}),
|
||||||
be_str_weak(parse),
|
be_str_weak(parse),
|
||||||
&be_const_str_solidified,
|
&be_const_str_solidified,
|
||||||
( &(const binstruction[23]) { /* code */
|
( &(const binstruction[15]) { /* code */
|
||||||
0x4C0C0000, // 0000 LDNIL R3
|
0x4C0C0000, // 0000 LDNIL R3
|
||||||
0x1C0C0403, // 0001 EQ R3 R2 R3
|
0x1C0C0403, // 0001 EQ R3 R2 R3
|
||||||
0x780E0000, // 0002 JMPF R3 #0004
|
0x780E0000, // 0002 JMPF R3 #0004
|
||||||
@ -456,19 +442,11 @@ be_local_closure(Matter_Pake3_parse, /* name */
|
|||||||
0x5C140200, // 0007 MOVE R5 R1
|
0x5C140200, // 0007 MOVE R5 R1
|
||||||
0x5C180400, // 0008 MOVE R6 R2
|
0x5C180400, // 0008 MOVE R6 R2
|
||||||
0x7C0C0600, // 0009 CALL R3 3
|
0x7C0C0600, // 0009 CALL R3 3
|
||||||
0xB8120800, // 000A GETNGBL R4 K4
|
0x8C100705, // 000A GETMET R4 R3 K5
|
||||||
0x8C100905, // 000B GETMET R4 R4 K5
|
0x58180006, // 000B LDCONST R6 K6
|
||||||
0x60180008, // 000C GETGBL R6 G8
|
0x7C100400, // 000C CALL R4 2
|
||||||
0x5C1C0600, // 000D MOVE R7 R3
|
0x90020804, // 000D SETMBR R0 K4 R4
|
||||||
0x7C180200, // 000E CALL R6 1
|
0x80040000, // 000E RET 1 R0
|
||||||
0x001A0C06, // 000F ADD R6 K6 R6
|
|
||||||
0x541E0003, // 0010 LDINT R7 4
|
|
||||||
0x7C100600, // 0011 CALL R4 3
|
|
||||||
0x8C100708, // 0012 GETMET R4 R3 K8
|
|
||||||
0x58180009, // 0013 LDCONST R6 K9
|
|
||||||
0x7C100400, // 0014 CALL R4 2
|
|
||||||
0x90020E04, // 0015 SETMBR R0 K7 R4
|
|
||||||
0x80040000, // 0016 RET 1 R0
|
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -511,34 +489,31 @@ be_local_closure(Matter_Sigma1_parse, /* name */
|
|||||||
0, /* has sup protos */
|
0, /* has sup protos */
|
||||||
NULL, /* no sub protos */
|
NULL, /* no sub protos */
|
||||||
1, /* has constants */
|
1, /* has constants */
|
||||||
( &(const bvalue[23]) { /* constants */
|
( &(const bvalue[20]) { /* constants */
|
||||||
/* K0 */ be_const_int(0),
|
/* K0 */ be_const_int(0),
|
||||||
/* K1 */ be_nested_str_weak(matter),
|
/* K1 */ be_nested_str_weak(matter),
|
||||||
/* K2 */ be_nested_str_weak(TLV),
|
/* K2 */ be_nested_str_weak(TLV),
|
||||||
/* K3 */ be_nested_str_weak(parse),
|
/* K3 */ be_nested_str_weak(parse),
|
||||||
/* K4 */ be_nested_str_weak(Msg1),
|
/* K4 */ be_nested_str_weak(Msg1),
|
||||||
/* K5 */ be_const_int(2147483647),
|
/* K5 */ be_const_int(2147483647),
|
||||||
/* K6 */ be_nested_str_weak(tasmota),
|
/* K6 */ be_nested_str_weak(initiatorRandom),
|
||||||
/* K7 */ be_nested_str_weak(log),
|
/* K7 */ be_nested_str_weak(getsubval),
|
||||||
/* K8 */ be_nested_str_weak(MTR_X3A_X20Sigma1_X20TLV_X3D),
|
/* K8 */ be_const_int(1),
|
||||||
/* K9 */ be_nested_str_weak(initiatorRandom),
|
/* K9 */ be_nested_str_weak(initiator_session_id),
|
||||||
/* K10 */ be_nested_str_weak(getsubval),
|
/* K10 */ be_const_int(2),
|
||||||
/* K11 */ be_const_int(1),
|
/* K11 */ be_nested_str_weak(destinationId),
|
||||||
/* K12 */ be_nested_str_weak(initiator_session_id),
|
/* K12 */ be_const_int(3),
|
||||||
/* K13 */ be_const_int(2),
|
/* K13 */ be_nested_str_weak(initiatorEphPubKey),
|
||||||
/* K14 */ be_nested_str_weak(destinationId),
|
/* K14 */ be_nested_str_weak(findsub),
|
||||||
/* K15 */ be_const_int(3),
|
/* K15 */ be_nested_str_weak(SLEEPY_IDLE_INTERVAL),
|
||||||
/* K16 */ be_nested_str_weak(initiatorEphPubKey),
|
/* K16 */ be_nested_str_weak(findsubval),
|
||||||
/* K17 */ be_nested_str_weak(findsub),
|
/* K17 */ be_nested_str_weak(SLEEPY_ACTIVE_INTERVAL),
|
||||||
/* K18 */ be_nested_str_weak(SLEEPY_IDLE_INTERVAL),
|
/* K18 */ be_nested_str_weak(resumptionID),
|
||||||
/* K19 */ be_nested_str_weak(findsubval),
|
/* K19 */ be_nested_str_weak(initiatorResumeMIC),
|
||||||
/* K20 */ be_nested_str_weak(SLEEPY_ACTIVE_INTERVAL),
|
|
||||||
/* K21 */ be_nested_str_weak(resumptionID),
|
|
||||||
/* K22 */ be_nested_str_weak(initiatorResumeMIC),
|
|
||||||
}),
|
}),
|
||||||
be_str_weak(parse),
|
be_str_weak(parse),
|
||||||
&be_const_str_solidified,
|
&be_const_str_solidified,
|
||||||
( &(const binstruction[60]) { /* code */
|
( &(const binstruction[52]) { /* code */
|
||||||
0x4C0C0000, // 0000 LDNIL R3
|
0x4C0C0000, // 0000 LDNIL R3
|
||||||
0x1C0C0403, // 0001 EQ R3 R2 R3
|
0x1C0C0403, // 0001 EQ R3 R2 R3
|
||||||
0x780E0000, // 0002 JMPF R3 #0004
|
0x780E0000, // 0002 JMPF R3 #0004
|
||||||
@ -552,53 +527,45 @@ be_local_closure(Matter_Sigma1_parse, /* name */
|
|||||||
0x40100505, // 000A CONNECT R4 R2 K5
|
0x40100505, // 000A CONNECT R4 R2 K5
|
||||||
0x94100204, // 000B GETIDX R4 R1 R4
|
0x94100204, // 000B GETIDX R4 R1 R4
|
||||||
0x90020804, // 000C SETMBR R0 K4 R4
|
0x90020804, // 000C SETMBR R0 K4 R4
|
||||||
0xB8120C00, // 000D GETNGBL R4 K6
|
0x8C100707, // 000D GETMET R4 R3 K7
|
||||||
0x8C100907, // 000E GETMET R4 R4 K7
|
0x58180008, // 000E LDCONST R6 K8
|
||||||
0x60180008, // 000F GETGBL R6 G8
|
0x7C100400, // 000F CALL R4 2
|
||||||
0x5C1C0600, // 0010 MOVE R7 R3
|
0x90020C04, // 0010 SETMBR R0 K6 R4
|
||||||
0x7C180200, // 0011 CALL R6 1
|
0x8C100707, // 0011 GETMET R4 R3 K7
|
||||||
0x001A1006, // 0012 ADD R6 K8 R6
|
0x5818000A, // 0012 LDCONST R6 K10
|
||||||
0x541E0003, // 0013 LDINT R7 4
|
0x7C100400, // 0013 CALL R4 2
|
||||||
0x7C100600, // 0014 CALL R4 3
|
0x90021204, // 0014 SETMBR R0 K9 R4
|
||||||
0x8C10070A, // 0015 GETMET R4 R3 K10
|
0x8C100707, // 0015 GETMET R4 R3 K7
|
||||||
0x5818000B, // 0016 LDCONST R6 K11
|
0x5818000C, // 0016 LDCONST R6 K12
|
||||||
0x7C100400, // 0017 CALL R4 2
|
0x7C100400, // 0017 CALL R4 2
|
||||||
0x90021204, // 0018 SETMBR R0 K9 R4
|
0x90021604, // 0018 SETMBR R0 K11 R4
|
||||||
0x8C10070A, // 0019 GETMET R4 R3 K10
|
0x8C100707, // 0019 GETMET R4 R3 K7
|
||||||
0x5818000D, // 001A LDCONST R6 K13
|
0x541A0003, // 001A LDINT R6 4
|
||||||
0x7C100400, // 001B CALL R4 2
|
0x7C100400, // 001B CALL R4 2
|
||||||
0x90021804, // 001C SETMBR R0 K12 R4
|
0x90021A04, // 001C SETMBR R0 K13 R4
|
||||||
0x8C10070A, // 001D GETMET R4 R3 K10
|
0x8C10070E, // 001D GETMET R4 R3 K14
|
||||||
0x5818000F, // 001E LDCONST R6 K15
|
0x541A0004, // 001E LDINT R6 5
|
||||||
0x7C100400, // 001F CALL R4 2
|
0x7C100400, // 001F CALL R4 2
|
||||||
0x90021C04, // 0020 SETMBR R0 K14 R4
|
0x4C140000, // 0020 LDNIL R5
|
||||||
0x8C10070A, // 0021 GETMET R4 R3 K10
|
0x20140805, // 0021 NE R5 R4 R5
|
||||||
0x541A0003, // 0022 LDINT R6 4
|
0x78160007, // 0022 JMPF R5 #002B
|
||||||
0x7C100400, // 0023 CALL R4 2
|
0x8C140910, // 0023 GETMET R5 R4 K16
|
||||||
0x90022004, // 0024 SETMBR R0 K16 R4
|
0x581C0008, // 0024 LDCONST R7 K8
|
||||||
0x8C100711, // 0025 GETMET R4 R3 K17
|
0x7C140400, // 0025 CALL R5 2
|
||||||
0x541A0004, // 0026 LDINT R6 5
|
0x90021E05, // 0026 SETMBR R0 K15 R5
|
||||||
0x7C100400, // 0027 CALL R4 2
|
0x8C140910, // 0027 GETMET R5 R4 K16
|
||||||
0x4C140000, // 0028 LDNIL R5
|
0x581C000A, // 0028 LDCONST R7 K10
|
||||||
0x20140805, // 0029 NE R5 R4 R5
|
0x7C140400, // 0029 CALL R5 2
|
||||||
0x78160007, // 002A JMPF R5 #0033
|
0x90022205, // 002A SETMBR R0 K17 R5
|
||||||
0x8C140913, // 002B GETMET R5 R4 K19
|
0x8C140710, // 002B GETMET R5 R3 K16
|
||||||
0x581C000B, // 002C LDCONST R7 K11
|
0x541E0005, // 002C LDINT R7 6
|
||||||
0x7C140400, // 002D CALL R5 2
|
0x7C140400, // 002D CALL R5 2
|
||||||
0x90022405, // 002E SETMBR R0 K18 R5
|
0x90022405, // 002E SETMBR R0 K18 R5
|
||||||
0x8C140913, // 002F GETMET R5 R4 K19
|
0x8C140710, // 002F GETMET R5 R3 K16
|
||||||
0x581C000D, // 0030 LDCONST R7 K13
|
0x541E0006, // 0030 LDINT R7 7
|
||||||
0x7C140400, // 0031 CALL R5 2
|
0x7C140400, // 0031 CALL R5 2
|
||||||
0x90022805, // 0032 SETMBR R0 K20 R5
|
0x90022605, // 0032 SETMBR R0 K19 R5
|
||||||
0x8C140713, // 0033 GETMET R5 R3 K19
|
0x80040000, // 0033 RET 1 R0
|
||||||
0x541E0005, // 0034 LDINT R7 6
|
|
||||||
0x7C140400, // 0035 CALL R5 2
|
|
||||||
0x90022A05, // 0036 SETMBR R0 K21 R5
|
|
||||||
0x8C140713, // 0037 GETMET R5 R3 K19
|
|
||||||
0x541E0006, // 0038 LDINT R7 7
|
|
||||||
0x7C140400, // 0039 CALL R5 2
|
|
||||||
0x90022C05, // 003A SETMBR R0 K22 R5
|
|
||||||
0x80040000, // 003B RET 1 R0
|
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -894,7 +861,7 @@ extern const bclass be_class_Matter_Sigma3;
|
|||||||
********************************************************************/
|
********************************************************************/
|
||||||
be_local_closure(Matter_Sigma3_parse, /* name */
|
be_local_closure(Matter_Sigma3_parse, /* name */
|
||||||
be_nested_proto(
|
be_nested_proto(
|
||||||
8, /* nstack */
|
7, /* nstack */
|
||||||
3, /* argc */
|
3, /* argc */
|
||||||
2, /* varg */
|
2, /* varg */
|
||||||
0, /* has upvals */
|
0, /* has upvals */
|
||||||
@ -902,23 +869,20 @@ be_local_closure(Matter_Sigma3_parse, /* name */
|
|||||||
0, /* has sup protos */
|
0, /* has sup protos */
|
||||||
NULL, /* no sub protos */
|
NULL, /* no sub protos */
|
||||||
1, /* has constants */
|
1, /* has constants */
|
||||||
( &(const bvalue[12]) { /* constants */
|
( &(const bvalue[ 9]) { /* constants */
|
||||||
/* K0 */ be_const_int(0),
|
/* K0 */ be_const_int(0),
|
||||||
/* K1 */ be_nested_str_weak(matter),
|
/* K1 */ be_nested_str_weak(matter),
|
||||||
/* K2 */ be_nested_str_weak(TLV),
|
/* K2 */ be_nested_str_weak(TLV),
|
||||||
/* K3 */ be_nested_str_weak(parse),
|
/* K3 */ be_nested_str_weak(parse),
|
||||||
/* K4 */ be_nested_str_weak(Msg3),
|
/* K4 */ be_nested_str_weak(Msg3),
|
||||||
/* K5 */ be_const_int(2147483647),
|
/* K5 */ be_const_int(2147483647),
|
||||||
/* K6 */ be_nested_str_weak(tasmota),
|
/* K6 */ be_nested_str_weak(TBEData3Encrypted),
|
||||||
/* K7 */ be_nested_str_weak(log),
|
/* K7 */ be_nested_str_weak(getsubval),
|
||||||
/* K8 */ be_nested_str_weak(MTR_X3A_X20Sigma3_X20TLV_X3D),
|
/* K8 */ be_const_int(1),
|
||||||
/* K9 */ be_nested_str_weak(TBEData3Encrypted),
|
|
||||||
/* K10 */ be_nested_str_weak(getsubval),
|
|
||||||
/* K11 */ be_const_int(1),
|
|
||||||
}),
|
}),
|
||||||
be_str_weak(parse),
|
be_str_weak(parse),
|
||||||
&be_const_str_solidified,
|
&be_const_str_solidified,
|
||||||
( &(const binstruction[26]) { /* code */
|
( &(const binstruction[18]) { /* code */
|
||||||
0x4C0C0000, // 0000 LDNIL R3
|
0x4C0C0000, // 0000 LDNIL R3
|
||||||
0x1C0C0403, // 0001 EQ R3 R2 R3
|
0x1C0C0403, // 0001 EQ R3 R2 R3
|
||||||
0x780E0000, // 0002 JMPF R3 #0004
|
0x780E0000, // 0002 JMPF R3 #0004
|
||||||
@ -932,19 +896,11 @@ be_local_closure(Matter_Sigma3_parse, /* name */
|
|||||||
0x40100505, // 000A CONNECT R4 R2 K5
|
0x40100505, // 000A CONNECT R4 R2 K5
|
||||||
0x94100204, // 000B GETIDX R4 R1 R4
|
0x94100204, // 000B GETIDX R4 R1 R4
|
||||||
0x90020804, // 000C SETMBR R0 K4 R4
|
0x90020804, // 000C SETMBR R0 K4 R4
|
||||||
0xB8120C00, // 000D GETNGBL R4 K6
|
0x8C100707, // 000D GETMET R4 R3 K7
|
||||||
0x8C100907, // 000E GETMET R4 R4 K7
|
0x58180008, // 000E LDCONST R6 K8
|
||||||
0x60180008, // 000F GETGBL R6 G8
|
0x7C100400, // 000F CALL R4 2
|
||||||
0x5C1C0600, // 0010 MOVE R7 R3
|
0x90020C04, // 0010 SETMBR R0 K6 R4
|
||||||
0x7C180200, // 0011 CALL R6 1
|
0x80040000, // 0011 RET 1 R0
|
||||||
0x001A1006, // 0012 ADD R6 K8 R6
|
|
||||||
0x541E0003, // 0013 LDINT R7 4
|
|
||||||
0x7C100600, // 0014 CALL R4 3
|
|
||||||
0x8C10070A, // 0015 GETMET R4 R3 K10
|
|
||||||
0x5818000B, // 0016 LDCONST R6 K11
|
|
||||||
0x7C100400, // 0017 CALL R4 2
|
|
||||||
0x90021204, // 0018 SETMBR R0 K9 R4
|
|
||||||
0x80040000, // 0019 RET 1 R0
|
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
@ -897,7 +897,7 @@ be_local_closure(Matter_Device_every_250ms, /* name */
|
|||||||
********************************************************************/
|
********************************************************************/
|
||||||
be_local_closure(Matter_Device_process_attribute_expansion, /* name */
|
be_local_closure(Matter_Device_process_attribute_expansion, /* name */
|
||||||
be_nested_proto(
|
be_nested_proto(
|
||||||
30, /* nstack */
|
29, /* nstack */
|
||||||
3, /* argc */
|
3, /* argc */
|
||||||
2, /* varg */
|
2, /* varg */
|
||||||
0, /* has upvals */
|
0, /* has upvals */
|
||||||
@ -972,37 +972,33 @@ be_local_closure(Matter_Device_process_attribute_expansion, /* name */
|
|||||||
),
|
),
|
||||||
}),
|
}),
|
||||||
1, /* has constants */
|
1, /* has constants */
|
||||||
( &(const bvalue[26]) { /* constants */
|
( &(const bvalue[22]) { /* constants */
|
||||||
/* K0 */ be_nested_str_weak(string),
|
/* K0 */ be_nested_str_weak(string),
|
||||||
/* K1 */ be_nested_str_weak(endpoint),
|
/* K1 */ be_nested_str_weak(endpoint),
|
||||||
/* K2 */ be_nested_str_weak(cluster),
|
/* K2 */ be_nested_str_weak(cluster),
|
||||||
/* K3 */ be_nested_str_weak(attribute),
|
/* K3 */ be_nested_str_weak(attribute),
|
||||||
/* K4 */ be_nested_str_weak(tasmota),
|
/* K4 */ be_nested_str_weak(plugins),
|
||||||
/* K5 */ be_nested_str_weak(log),
|
/* K5 */ be_nested_str_weak(get_endpoint),
|
||||||
/* K6 */ be_nested_str_weak(format),
|
/* K6 */ be_nested_str_weak(contains),
|
||||||
/* K7 */ be_nested_str_weak(MTR_X3A_X20process_attribute_expansion_X20_X25s),
|
/* K7 */ be_nested_str_weak(get_cluster_list),
|
||||||
/* K8 */ be_nested_str_weak(MTR_X3A_X20endpoint_X3D_X25s_X20cluster_X3D_X25s_X20attribute_X3D_X25s),
|
/* K8 */ be_nested_str_weak(get_attribute_list),
|
||||||
/* K9 */ be_nested_str_weak(plugins),
|
/* K9 */ be_nested_str_weak(push),
|
||||||
/* K10 */ be_nested_str_weak(get_endpoint),
|
/* K10 */ be_nested_str_weak(stop_iteration),
|
||||||
/* K11 */ be_nested_str_weak(contains),
|
/* K11 */ be_nested_str_weak(tasmota),
|
||||||
/* K12 */ be_nested_str_weak(get_cluster_list),
|
/* K12 */ be_nested_str_weak(log),
|
||||||
/* K13 */ be_nested_str_weak(MTR_X3A_X20pi_X3D_X25s_X20ep_X3D_X25s_X20cl_list_X3D_X25s),
|
/* K13 */ be_nested_str_weak(format),
|
||||||
/* K14 */ be_nested_str_weak(get_attribute_list),
|
/* K14 */ be_nested_str_weak(MTR_X3A_X20expansion_X20_X5B_X2502X_X5D_X2504X_X2F_X2504X),
|
||||||
/* K15 */ be_nested_str_weak(MTR_X3A_X20pi_X3D_X25s_X20ep_X3D_X25s_X20cl_X3D_X25s_X20at_list_X3D_X25s),
|
/* K15 */ be_const_int(3),
|
||||||
/* K16 */ be_nested_str_weak(push),
|
/* K16 */ be_nested_str_weak(status),
|
||||||
/* K17 */ be_nested_str_weak(stop_iteration),
|
/* K17 */ be_nested_str_weak(matter),
|
||||||
/* K18 */ be_nested_str_weak(MTR_X3A_X20expansion_X20_X5B_X2502X_X5D_X2504X_X2F_X2504X),
|
/* K18 */ be_nested_str_weak(UNSUPPORTED_ENDPOINT),
|
||||||
/* K19 */ be_const_int(3),
|
/* K19 */ be_nested_str_weak(UNSUPPORTED_CLUSTER),
|
||||||
/* K20 */ be_nested_str_weak(status),
|
/* K20 */ be_nested_str_weak(UNSUPPORTED_ATTRIBUTE),
|
||||||
/* K21 */ be_nested_str_weak(matter),
|
/* K21 */ be_nested_str_weak(UNREPORTABLE_ATTRIBUTE),
|
||||||
/* K22 */ be_nested_str_weak(UNSUPPORTED_ENDPOINT),
|
|
||||||
/* K23 */ be_nested_str_weak(UNSUPPORTED_CLUSTER),
|
|
||||||
/* K24 */ be_nested_str_weak(UNSUPPORTED_ATTRIBUTE),
|
|
||||||
/* K25 */ be_nested_str_weak(UNREPORTABLE_ATTRIBUTE),
|
|
||||||
}),
|
}),
|
||||||
be_str_weak(process_attribute_expansion),
|
be_str_weak(process_attribute_expansion),
|
||||||
&be_const_str_solidified,
|
&be_const_str_solidified,
|
||||||
( &(const binstruction[271]) { /* code */
|
( &(const binstruction[216]) { /* code */
|
||||||
0x840C0000, // 0000 CLOSURE R3 P0
|
0x840C0000, // 0000 CLOSURE R3 P0
|
||||||
0xA4120000, // 0001 IMPORT R4 K0
|
0xA4120000, // 0001 IMPORT R4 K0
|
||||||
0x88140301, // 0002 GETMBR R5 R1 K1
|
0x88140301, // 0002 GETMBR R5 R1 K1
|
||||||
@ -1025,255 +1021,200 @@ be_local_closure(Matter_Device_process_attribute_expansion, /* name */
|
|||||||
0x742E0000, // 0013 JMPT R11 #0015
|
0x742E0000, // 0013 JMPT R11 #0015
|
||||||
0x502C0001, // 0014 LDBOOL R11 0 1
|
0x502C0001, // 0014 LDBOOL R11 0 1
|
||||||
0x502C0200, // 0015 LDBOOL R11 1 0
|
0x502C0200, // 0015 LDBOOL R11 1 0
|
||||||
0xB8320800, // 0016 GETNGBL R12 K4
|
0x60300013, // 0016 GETGBL R12 G19
|
||||||
0x8C301905, // 0017 GETMET R12 R12 K5
|
0x7C300000, // 0017 CALL R12 0
|
||||||
0x8C380906, // 0018 GETMET R14 R4 K6
|
0x60340010, // 0018 GETGBL R13 G16
|
||||||
0x58400007, // 0019 LDCONST R16 K7
|
0x88380104, // 0019 GETMBR R14 R0 K4
|
||||||
0x60440008, // 001A GETGBL R17 G8
|
0x7C340200, // 001A CALL R13 1
|
||||||
0x5C480200, // 001B MOVE R18 R1
|
0xA8020055, // 001B EXBLK 0 #0072
|
||||||
0x7C440200, // 001C CALL R17 1
|
0x5C381A00, // 001C MOVE R14 R13
|
||||||
0x7C380600, // 001D CALL R14 3
|
0x7C380000, // 001D CALL R14 0
|
||||||
0x543E0003, // 001E LDINT R15 4
|
0x8C3C1D05, // 001E GETMET R15 R14 K5
|
||||||
0x7C300600, // 001F CALL R12 3
|
0x7C3C0200, // 001F CALL R15 1
|
||||||
0x60300013, // 0020 GETGBL R12 G19
|
0x4C400000, // 0020 LDNIL R16
|
||||||
0x7C300000, // 0021 CALL R12 0
|
0x20400A10, // 0021 NE R16 R5 R16
|
||||||
0xB8360800, // 0022 GETNGBL R13 K4
|
0x78420002, // 0022 JMPF R16 #0026
|
||||||
0x8C341B05, // 0023 GETMET R13 R13 K5
|
0x20401E05, // 0023 NE R16 R15 R5
|
||||||
0x8C3C0906, // 0024 GETMET R15 R4 K6
|
0x78420000, // 0024 JMPF R16 #0026
|
||||||
0x58440008, // 0025 LDCONST R17 K8
|
0x7001FFF5, // 0025 JMP #001C
|
||||||
0x5C480A00, // 0026 MOVE R18 R5
|
0x8C401906, // 0026 GETMET R16 R12 K6
|
||||||
0x5C4C0E00, // 0027 MOVE R19 R7
|
0x5C481E00, // 0027 MOVE R18 R15
|
||||||
0x5C501200, // 0028 MOVE R20 R9
|
0x7C400400, // 0028 CALL R16 2
|
||||||
0x7C3C0A00, // 0029 CALL R15 5
|
0x74420002, // 0029 JMPT R16 #002D
|
||||||
0x54420003, // 002A LDINT R16 4
|
0x60400013, // 002A GETGBL R16 G19
|
||||||
0x7C340600, // 002B CALL R13 3
|
0x7C400000, // 002B CALL R16 0
|
||||||
0x60340010, // 002C GETGBL R13 G16
|
0x98301E10, // 002C SETIDX R12 R15 R16
|
||||||
0x88380109, // 002D GETMBR R14 R0 K9
|
0x50180200, // 002D LDBOOL R6 1 0
|
||||||
0x7C340200, // 002E CALL R13 1
|
0x8C401D07, // 002E GETMET R16 R14 K7
|
||||||
0xA8020078, // 002F EXBLK 0 #00A9
|
0x5C481E00, // 002F MOVE R18 R15
|
||||||
0x5C381A00, // 0030 MOVE R14 R13
|
0x7C400400, // 0030 CALL R16 2
|
||||||
0x7C380000, // 0031 CALL R14 0
|
0x60440010, // 0031 GETGBL R17 G16
|
||||||
0x8C3C1D0A, // 0032 GETMET R15 R14 K10
|
0x5C482000, // 0032 MOVE R18 R16
|
||||||
0x7C3C0200, // 0033 CALL R15 1
|
0x7C440200, // 0033 CALL R17 1
|
||||||
0x4C400000, // 0034 LDNIL R16
|
0xA8020038, // 0034 EXBLK 0 #006E
|
||||||
0x20400A10, // 0035 NE R16 R5 R16
|
0x5C482200, // 0035 MOVE R18 R17
|
||||||
0x78420002, // 0036 JMPF R16 #003A
|
0x7C480000, // 0036 CALL R18 0
|
||||||
0x20401E05, // 0037 NE R16 R15 R5
|
0x4C4C0000, // 0037 LDNIL R19
|
||||||
0x78420000, // 0038 JMPF R16 #003A
|
0x204C0E13, // 0038 NE R19 R7 R19
|
||||||
0x7001FFF5, // 0039 JMP #0030
|
0x784E0002, // 0039 JMPF R19 #003D
|
||||||
0x8C40190B, // 003A GETMET R16 R12 K11
|
0x204C2407, // 003A NE R19 R18 R7
|
||||||
0x5C481E00, // 003B MOVE R18 R15
|
0x784E0000, // 003B JMPF R19 #003D
|
||||||
0x7C400400, // 003C CALL R16 2
|
0x7001FFF7, // 003C JMP #0035
|
||||||
0x74420002, // 003D JMPT R16 #0041
|
0x944C180F, // 003D GETIDX R19 R12 R15
|
||||||
0x60400013, // 003E GETGBL R16 G19
|
0x8C4C2706, // 003E GETMET R19 R19 K6
|
||||||
0x7C400000, // 003F CALL R16 0
|
0x5C542400, // 003F MOVE R21 R18
|
||||||
0x98301E10, // 0040 SETIDX R12 R15 R16
|
0x7C4C0400, // 0040 CALL R19 2
|
||||||
0x50180200, // 0041 LDBOOL R6 1 0
|
0x744E0003, // 0041 JMPT R19 #0046
|
||||||
0x8C401D0C, // 0042 GETMET R16 R14 K12
|
0x944C180F, // 0042 GETIDX R19 R12 R15
|
||||||
0x5C481E00, // 0043 MOVE R18 R15
|
0x60500013, // 0043 GETGBL R20 G19
|
||||||
0x7C400400, // 0044 CALL R16 2
|
0x7C500000, // 0044 CALL R20 0
|
||||||
0xB8460800, // 0045 GETNGBL R17 K4
|
0x984C2414, // 0045 SETIDX R19 R18 R20
|
||||||
0x8C442305, // 0046 GETMET R17 R17 K5
|
0x50200200, // 0046 LDBOOL R8 1 0
|
||||||
0x8C4C0906, // 0047 GETMET R19 R4 K6
|
0x8C4C1D08, // 0047 GETMET R19 R14 K8
|
||||||
0x5854000D, // 0048 LDCONST R21 K13
|
0x5C541E00, // 0048 MOVE R21 R15
|
||||||
0x60580008, // 0049 GETGBL R22 G8
|
0x5C582400, // 0049 MOVE R22 R18
|
||||||
0x5C5C1C00, // 004A MOVE R23 R14
|
0x7C4C0600, // 004A CALL R19 3
|
||||||
0x7C580200, // 004B CALL R22 1
|
0x60500010, // 004B GETGBL R20 G16
|
||||||
0x605C0008, // 004C GETGBL R23 G8
|
0x5C542600, // 004C MOVE R21 R19
|
||||||
0x5C601E00, // 004D MOVE R24 R15
|
0x7C500200, // 004D CALL R20 1
|
||||||
0x7C5C0200, // 004E CALL R23 1
|
0xA802001A, // 004E EXBLK 0 #006A
|
||||||
0x60600008, // 004F GETGBL R24 G8
|
0x5C542800, // 004F MOVE R21 R20
|
||||||
0x5C642000, // 0050 MOVE R25 R16
|
0x7C540000, // 0050 CALL R21 0
|
||||||
0x7C600200, // 0051 CALL R24 1
|
0x4C580000, // 0051 LDNIL R22
|
||||||
0x7C4C0A00, // 0052 CALL R19 5
|
0x20581216, // 0052 NE R22 R9 R22
|
||||||
0x54520003, // 0053 LDINT R20 4
|
0x785A0002, // 0053 JMPF R22 #0057
|
||||||
0x7C440600, // 0054 CALL R17 3
|
0x20582A09, // 0054 NE R22 R21 R9
|
||||||
0x60440010, // 0055 GETGBL R17 G16
|
0x785A0000, // 0055 JMPF R22 #0057
|
||||||
0x5C482000, // 0056 MOVE R18 R16
|
0x7001FFF7, // 0056 JMP #004F
|
||||||
0x7C440200, // 0057 CALL R17 1
|
0x9458180F, // 0057 GETIDX R22 R12 R15
|
||||||
0xA802004B, // 0058 EXBLK 0 #00A5
|
0x94582C12, // 0058 GETIDX R22 R22 R18
|
||||||
0x5C482200, // 0059 MOVE R18 R17
|
0x8C582D06, // 0059 GETMET R22 R22 K6
|
||||||
0x7C480000, // 005A CALL R18 0
|
0x5C602A00, // 005A MOVE R24 R21
|
||||||
0x4C4C0000, // 005B LDNIL R19
|
0x7C580400, // 005B CALL R22 2
|
||||||
0x204C0E13, // 005C NE R19 R7 R19
|
0x745A0004, // 005C JMPT R22 #0062
|
||||||
0x784E0002, // 005D JMPF R19 #0061
|
0x9458180F, // 005D GETIDX R22 R12 R15
|
||||||
0x204C2407, // 005E NE R19 R18 R7
|
0x94582C12, // 005E GETIDX R22 R22 R18
|
||||||
0x784E0000, // 005F JMPF R19 #0061
|
0x605C0012, // 005F GETGBL R23 G18
|
||||||
0x7001FFF7, // 0060 JMP #0059
|
0x7C5C0000, // 0060 CALL R23 0
|
||||||
0x944C180F, // 0061 GETIDX R19 R12 R15
|
0x98582A17, // 0061 SETIDX R22 R21 R23
|
||||||
0x8C4C270B, // 0062 GETMET R19 R19 K11
|
0x50280200, // 0062 LDBOOL R10 1 0
|
||||||
0x5C542400, // 0063 MOVE R21 R18
|
0x9458180F, // 0063 GETIDX R22 R12 R15
|
||||||
0x7C4C0400, // 0064 CALL R19 2
|
0x94582C12, // 0064 GETIDX R22 R22 R18
|
||||||
0x744E0003, // 0065 JMPT R19 #006A
|
0x94582C15, // 0065 GETIDX R22 R22 R21
|
||||||
0x944C180F, // 0066 GETIDX R19 R12 R15
|
0x8C582D09, // 0066 GETMET R22 R22 K9
|
||||||
0x60500013, // 0067 GETGBL R20 G19
|
0x5C601C00, // 0067 MOVE R24 R14
|
||||||
0x7C500000, // 0068 CALL R20 0
|
0x7C580400, // 0068 CALL R22 2
|
||||||
0x984C2414, // 0069 SETIDX R19 R18 R20
|
0x7001FFE4, // 0069 JMP #004F
|
||||||
0x50200200, // 006A LDBOOL R8 1 0
|
0x5850000A, // 006A LDCONST R20 K10
|
||||||
0x8C4C1D0E, // 006B GETMET R19 R14 K14
|
0xAC500200, // 006B CATCH R20 1 0
|
||||||
0x5C541E00, // 006C MOVE R21 R15
|
0xB0080000, // 006C RAISE 2 R0 R0
|
||||||
0x5C582400, // 006D MOVE R22 R18
|
0x7001FFC6, // 006D JMP #0035
|
||||||
0x7C4C0600, // 006E CALL R19 3
|
0x5844000A, // 006E LDCONST R17 K10
|
||||||
0xB8520800, // 006F GETNGBL R20 K4
|
0xAC440200, // 006F CATCH R17 1 0
|
||||||
0x8C502905, // 0070 GETMET R20 R20 K5
|
0xB0080000, // 0070 RAISE 2 R0 R0
|
||||||
0x8C580906, // 0071 GETMET R22 R4 K6
|
0x7001FFA9, // 0071 JMP #001C
|
||||||
0x5860000F, // 0072 LDCONST R24 K15
|
0x5834000A, // 0072 LDCONST R13 K10
|
||||||
0x60640008, // 0073 GETGBL R25 G8
|
0xAC340200, // 0073 CATCH R13 1 0
|
||||||
0x5C681C00, // 0074 MOVE R26 R14
|
0xB0080000, // 0074 RAISE 2 R0 R0
|
||||||
0x7C640200, // 0075 CALL R25 1
|
0x60340010, // 0075 GETGBL R13 G16
|
||||||
0x60680008, // 0076 GETGBL R26 G8
|
0x5C380600, // 0076 MOVE R14 R3
|
||||||
0x5C6C1E00, // 0077 MOVE R27 R15
|
0x5C3C1800, // 0077 MOVE R15 R12
|
||||||
0x7C680200, // 0078 CALL R26 1
|
0x7C380200, // 0078 CALL R14 1
|
||||||
0x606C0008, // 0079 GETGBL R27 G8
|
0x7C340200, // 0079 CALL R13 1
|
||||||
0x5C702400, // 007A MOVE R28 R18
|
0xA802003D, // 007A EXBLK 0 #00B9
|
||||||
0x7C6C0200, // 007B CALL R27 1
|
0x5C381A00, // 007B MOVE R14 R13
|
||||||
0x60700008, // 007C GETGBL R28 G8
|
0x7C380000, // 007C CALL R14 0
|
||||||
0x5C742600, // 007D MOVE R29 R19
|
0x603C0010, // 007D GETGBL R15 G16
|
||||||
0x7C700200, // 007E CALL R28 1
|
0x5C400600, // 007E MOVE R16 R3
|
||||||
0x7C580C00, // 007F CALL R22 6
|
0x9444180E, // 007F GETIDX R17 R12 R14
|
||||||
0x545E0003, // 0080 LDINT R23 4
|
0x7C400200, // 0080 CALL R16 1
|
||||||
0x7C500600, // 0081 CALL R20 3
|
0x7C3C0200, // 0081 CALL R15 1
|
||||||
0x60500010, // 0082 GETGBL R20 G16
|
0xA8020031, // 0082 EXBLK 0 #00B5
|
||||||
0x5C542600, // 0083 MOVE R21 R19
|
0x5C401E00, // 0083 MOVE R16 R15
|
||||||
0x7C500200, // 0084 CALL R20 1
|
0x7C400000, // 0084 CALL R16 0
|
||||||
0xA802001A, // 0085 EXBLK 0 #00A1
|
0x60440010, // 0085 GETGBL R17 G16
|
||||||
0x5C542800, // 0086 MOVE R21 R20
|
0x5C480600, // 0086 MOVE R18 R3
|
||||||
0x7C540000, // 0087 CALL R21 0
|
0x944C180E, // 0087 GETIDX R19 R12 R14
|
||||||
0x4C580000, // 0088 LDNIL R22
|
0x944C2610, // 0088 GETIDX R19 R19 R16
|
||||||
0x20581216, // 0089 NE R22 R9 R22
|
0x7C480200, // 0089 CALL R18 1
|
||||||
0x785A0002, // 008A JMPF R22 #008E
|
0x7C440200, // 008A CALL R17 1
|
||||||
0x20582A09, // 008B NE R22 R21 R9
|
0xA8020024, // 008B EXBLK 0 #00B1
|
||||||
0x785A0000, // 008C JMPF R22 #008E
|
0x5C482200, // 008C MOVE R18 R17
|
||||||
0x7001FFF7, // 008D JMP #0086
|
0x7C480000, // 008D CALL R18 0
|
||||||
0x9458180F, // 008E GETIDX R22 R12 R15
|
0x604C0010, // 008E GETGBL R19 G16
|
||||||
0x94582C12, // 008F GETIDX R22 R22 R18
|
0x9450180E, // 008F GETIDX R20 R12 R14
|
||||||
0x8C582D0B, // 0090 GETMET R22 R22 K11
|
0x94502810, // 0090 GETIDX R20 R20 R16
|
||||||
0x5C602A00, // 0091 MOVE R24 R21
|
0x94502812, // 0091 GETIDX R20 R20 R18
|
||||||
0x7C580400, // 0092 CALL R22 2
|
0x7C4C0200, // 0092 CALL R19 1
|
||||||
0x745A0004, // 0093 JMPT R22 #0099
|
0xA8020018, // 0093 EXBLK 0 #00AD
|
||||||
0x9458180F, // 0094 GETIDX R22 R12 R15
|
0x5C502600, // 0094 MOVE R20 R19
|
||||||
0x94582C12, // 0095 GETIDX R22 R22 R18
|
0x7C500000, // 0095 CALL R20 0
|
||||||
0x605C0012, // 0096 GETGBL R23 G18
|
0xB8561600, // 0096 GETNGBL R21 K11
|
||||||
0x7C5C0000, // 0097 CALL R23 0
|
0x8C542B0C, // 0097 GETMET R21 R21 K12
|
||||||
0x98582A17, // 0098 SETIDX R22 R21 R23
|
0x8C5C090D, // 0098 GETMET R23 R4 K13
|
||||||
0x50280200, // 0099 LDBOOL R10 1 0
|
0x5864000E, // 0099 LDCONST R25 K14
|
||||||
0x9458180F, // 009A GETIDX R22 R12 R15
|
0x5C681C00, // 009A MOVE R26 R14
|
||||||
0x94582C12, // 009B GETIDX R22 R22 R18
|
0x5C6C2000, // 009B MOVE R27 R16
|
||||||
0x94582C15, // 009C GETIDX R22 R22 R21
|
0x5C702400, // 009C MOVE R28 R18
|
||||||
0x8C582D10, // 009D GETMET R22 R22 K16
|
0x7C5C0A00, // 009D CALL R23 5
|
||||||
0x5C601C00, // 009E MOVE R24 R14
|
0x5860000F, // 009E LDCONST R24 K15
|
||||||
0x7C580400, // 009F CALL R22 2
|
0x7C540600, // 009F CALL R21 3
|
||||||
0x7001FFE4, // 00A0 JMP #0086
|
0x9006020E, // 00A0 SETMBR R1 K1 R14
|
||||||
0x58500011, // 00A1 LDCONST R20 K17
|
0x90060410, // 00A1 SETMBR R1 K2 R16
|
||||||
0xAC500200, // 00A2 CATCH R20 1 0
|
0x90060612, // 00A2 SETMBR R1 K3 R18
|
||||||
0xB0080000, // 00A3 RAISE 2 R0 R0
|
0x5C540400, // 00A3 MOVE R21 R2
|
||||||
0x7001FFB3, // 00A4 JMP #0059
|
0x5C582800, // 00A4 MOVE R22 R20
|
||||||
0x58440011, // 00A5 LDCONST R17 K17
|
0x5C5C0200, // 00A5 MOVE R23 R1
|
||||||
0xAC440200, // 00A6 CATCH R17 1 0
|
0x5C601600, // 00A6 MOVE R24 R11
|
||||||
0xB0080000, // 00A7 RAISE 2 R0 R0
|
0x7C540600, // 00A7 CALL R21 3
|
||||||
0x7001FF86, // 00A8 JMP #0030
|
0x782E0002, // 00A8 JMPF R11 #00AC
|
||||||
0x58340011, // 00A9 LDCONST R13 K17
|
0x78560001, // 00A9 JMPF R21 #00AC
|
||||||
0xAC340200, // 00AA CATCH R13 1 0
|
0xA8040004, // 00AA EXBLK 1 4
|
||||||
0xB0080000, // 00AB RAISE 2 R0 R0
|
0x80002C00, // 00AB RET 0
|
||||||
0x60340010, // 00AC GETGBL R13 G16
|
0x7001FFE6, // 00AC JMP #0094
|
||||||
0x5C380600, // 00AD MOVE R14 R3
|
0x584C000A, // 00AD LDCONST R19 K10
|
||||||
0x5C3C1800, // 00AE MOVE R15 R12
|
0xAC4C0200, // 00AE CATCH R19 1 0
|
||||||
0x7C380200, // 00AF CALL R14 1
|
0xB0080000, // 00AF RAISE 2 R0 R0
|
||||||
0x7C340200, // 00B0 CALL R13 1
|
0x7001FFDA, // 00B0 JMP #008C
|
||||||
0xA802003D, // 00B1 EXBLK 0 #00F0
|
0x5844000A, // 00B1 LDCONST R17 K10
|
||||||
0x5C381A00, // 00B2 MOVE R14 R13
|
0xAC440200, // 00B2 CATCH R17 1 0
|
||||||
0x7C380000, // 00B3 CALL R14 0
|
0xB0080000, // 00B3 RAISE 2 R0 R0
|
||||||
0x603C0010, // 00B4 GETGBL R15 G16
|
0x7001FFCD, // 00B4 JMP #0083
|
||||||
0x5C400600, // 00B5 MOVE R16 R3
|
0x583C000A, // 00B5 LDCONST R15 K10
|
||||||
0x9444180E, // 00B6 GETIDX R17 R12 R14
|
0xAC3C0200, // 00B6 CATCH R15 1 0
|
||||||
0x7C400200, // 00B7 CALL R16 1
|
0xB0080000, // 00B7 RAISE 2 R0 R0
|
||||||
0x7C3C0200, // 00B8 CALL R15 1
|
0x7001FFC1, // 00B8 JMP #007B
|
||||||
0xA8020031, // 00B9 EXBLK 0 #00EC
|
0x5834000A, // 00B9 LDCONST R13 K10
|
||||||
0x5C401E00, // 00BA MOVE R16 R15
|
0xAC340200, // 00BA CATCH R13 1 0
|
||||||
0x7C400000, // 00BB CALL R16 0
|
0xB0080000, // 00BB RAISE 2 R0 R0
|
||||||
0x60440010, // 00BC GETGBL R17 G16
|
0x782E0019, // 00BC JMPF R11 #00D7
|
||||||
0x5C480600, // 00BD MOVE R18 R3
|
0x5C340C00, // 00BD MOVE R13 R6
|
||||||
0x944C180E, // 00BE GETIDX R19 R12 R14
|
0x74360003, // 00BE JMPT R13 #00C3
|
||||||
0x944C2610, // 00BF GETIDX R19 R19 R16
|
0xB8362200, // 00BF GETNGBL R13 K17
|
||||||
0x7C480200, // 00C0 CALL R18 1
|
0x88341B12, // 00C0 GETMBR R13 R13 K18
|
||||||
0x7C440200, // 00C1 CALL R17 1
|
0x9006200D, // 00C1 SETMBR R1 K16 R13
|
||||||
0xA8020024, // 00C2 EXBLK 0 #00E8
|
0x7002000E, // 00C2 JMP #00D2
|
||||||
0x5C482200, // 00C3 MOVE R18 R17
|
0x5C341000, // 00C3 MOVE R13 R8
|
||||||
0x7C480000, // 00C4 CALL R18 0
|
0x74360003, // 00C4 JMPT R13 #00C9
|
||||||
0x604C0010, // 00C5 GETGBL R19 G16
|
0xB8362200, // 00C5 GETNGBL R13 K17
|
||||||
0x9450180E, // 00C6 GETIDX R20 R12 R14
|
0x88341B13, // 00C6 GETMBR R13 R13 K19
|
||||||
0x94502810, // 00C7 GETIDX R20 R20 R16
|
0x9006200D, // 00C7 SETMBR R1 K16 R13
|
||||||
0x94502812, // 00C8 GETIDX R20 R20 R18
|
0x70020008, // 00C8 JMP #00D2
|
||||||
0x7C4C0200, // 00C9 CALL R19 1
|
0x5C341400, // 00C9 MOVE R13 R10
|
||||||
0xA8020018, // 00CA EXBLK 0 #00E4
|
0x74360003, // 00CA JMPT R13 #00CF
|
||||||
0x5C502600, // 00CB MOVE R20 R19
|
0xB8362200, // 00CB GETNGBL R13 K17
|
||||||
0x7C500000, // 00CC CALL R20 0
|
0x88341B14, // 00CC GETMBR R13 R13 K20
|
||||||
0xB8560800, // 00CD GETNGBL R21 K4
|
0x9006200D, // 00CD SETMBR R1 K16 R13
|
||||||
0x8C542B05, // 00CE GETMET R21 R21 K5
|
0x70020002, // 00CE JMP #00D2
|
||||||
0x8C5C0906, // 00CF GETMET R23 R4 K6
|
0xB8362200, // 00CF GETNGBL R13 K17
|
||||||
0x58640012, // 00D0 LDCONST R25 K18
|
0x88341B15, // 00D0 GETMBR R13 R13 K21
|
||||||
0x5C681C00, // 00D1 MOVE R26 R14
|
0x9006200D, // 00D1 SETMBR R1 K16 R13
|
||||||
0x5C6C2000, // 00D2 MOVE R27 R16
|
0x5C340400, // 00D2 MOVE R13 R2
|
||||||
0x5C702400, // 00D3 MOVE R28 R18
|
0x4C380000, // 00D3 LDNIL R14
|
||||||
0x7C5C0A00, // 00D4 CALL R23 5
|
0x5C3C0200, // 00D4 MOVE R15 R1
|
||||||
0x58600013, // 00D5 LDCONST R24 K19
|
0x50400200, // 00D5 LDBOOL R16 1 0
|
||||||
0x7C540600, // 00D6 CALL R21 3
|
0x7C340600, // 00D6 CALL R13 3
|
||||||
0x9006020E, // 00D7 SETMBR R1 K1 R14
|
0x80000000, // 00D7 RET 0
|
||||||
0x90060410, // 00D8 SETMBR R1 K2 R16
|
|
||||||
0x90060612, // 00D9 SETMBR R1 K3 R18
|
|
||||||
0x5C540400, // 00DA MOVE R21 R2
|
|
||||||
0x5C582800, // 00DB MOVE R22 R20
|
|
||||||
0x5C5C0200, // 00DC MOVE R23 R1
|
|
||||||
0x5C601600, // 00DD MOVE R24 R11
|
|
||||||
0x7C540600, // 00DE CALL R21 3
|
|
||||||
0x782E0002, // 00DF JMPF R11 #00E3
|
|
||||||
0x78560001, // 00E0 JMPF R21 #00E3
|
|
||||||
0xA8040004, // 00E1 EXBLK 1 4
|
|
||||||
0x80002C00, // 00E2 RET 0
|
|
||||||
0x7001FFE6, // 00E3 JMP #00CB
|
|
||||||
0x584C0011, // 00E4 LDCONST R19 K17
|
|
||||||
0xAC4C0200, // 00E5 CATCH R19 1 0
|
|
||||||
0xB0080000, // 00E6 RAISE 2 R0 R0
|
|
||||||
0x7001FFDA, // 00E7 JMP #00C3
|
|
||||||
0x58440011, // 00E8 LDCONST R17 K17
|
|
||||||
0xAC440200, // 00E9 CATCH R17 1 0
|
|
||||||
0xB0080000, // 00EA RAISE 2 R0 R0
|
|
||||||
0x7001FFCD, // 00EB JMP #00BA
|
|
||||||
0x583C0011, // 00EC LDCONST R15 K17
|
|
||||||
0xAC3C0200, // 00ED CATCH R15 1 0
|
|
||||||
0xB0080000, // 00EE RAISE 2 R0 R0
|
|
||||||
0x7001FFC1, // 00EF JMP #00B2
|
|
||||||
0x58340011, // 00F0 LDCONST R13 K17
|
|
||||||
0xAC340200, // 00F1 CATCH R13 1 0
|
|
||||||
0xB0080000, // 00F2 RAISE 2 R0 R0
|
|
||||||
0x782E0019, // 00F3 JMPF R11 #010E
|
|
||||||
0x5C340C00, // 00F4 MOVE R13 R6
|
|
||||||
0x74360003, // 00F5 JMPT R13 #00FA
|
|
||||||
0xB8362A00, // 00F6 GETNGBL R13 K21
|
|
||||||
0x88341B16, // 00F7 GETMBR R13 R13 K22
|
|
||||||
0x9006280D, // 00F8 SETMBR R1 K20 R13
|
|
||||||
0x7002000E, // 00F9 JMP #0109
|
|
||||||
0x5C341000, // 00FA MOVE R13 R8
|
|
||||||
0x74360003, // 00FB JMPT R13 #0100
|
|
||||||
0xB8362A00, // 00FC GETNGBL R13 K21
|
|
||||||
0x88341B17, // 00FD GETMBR R13 R13 K23
|
|
||||||
0x9006280D, // 00FE SETMBR R1 K20 R13
|
|
||||||
0x70020008, // 00FF JMP #0109
|
|
||||||
0x5C341400, // 0100 MOVE R13 R10
|
|
||||||
0x74360003, // 0101 JMPT R13 #0106
|
|
||||||
0xB8362A00, // 0102 GETNGBL R13 K21
|
|
||||||
0x88341B18, // 0103 GETMBR R13 R13 K24
|
|
||||||
0x9006280D, // 0104 SETMBR R1 K20 R13
|
|
||||||
0x70020002, // 0105 JMP #0109
|
|
||||||
0xB8362A00, // 0106 GETNGBL R13 K21
|
|
||||||
0x88341B19, // 0107 GETMBR R13 R13 K25
|
|
||||||
0x9006280D, // 0108 SETMBR R1 K20 R13
|
|
||||||
0x5C340400, // 0109 MOVE R13 R2
|
|
||||||
0x4C380000, // 010A LDNIL R14
|
|
||||||
0x5C3C0200, // 010B MOVE R15 R1
|
|
||||||
0x50400200, // 010C LDBOOL R16 1 0
|
|
||||||
0x7C340600, // 010D CALL R13 3
|
|
||||||
0x80000000, // 010E RET 0
|
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -331,25 +331,25 @@ be_local_closure(Matter_Frame_debug, /* name */
|
|||||||
be_str_weak(debug),
|
be_str_weak(debug),
|
||||||
&be_const_str_solidified,
|
&be_const_str_solidified,
|
||||||
( &(const binstruction[19]) { /* code */
|
( &(const binstruction[19]) { /* code */
|
||||||
0xB80A0000, // 0000 GETNGBL R2 K0
|
0x80000400, // 0000 RET 0
|
||||||
0x8C080501, // 0001 GETMET R2 R2 K1
|
0xB80A0000, // 0001 GETNGBL R2 K0
|
||||||
0x88100102, // 0002 GETMBR R4 R0 K2
|
0x8C080501, // 0002 GETMET R2 R2 K1
|
||||||
0x5C140200, // 0003 MOVE R5 R1
|
0x88100102, // 0003 GETMBR R4 R0 K2
|
||||||
0x7C080600, // 0004 CALL R2 3
|
0x5C140200, // 0004 MOVE R5 R1
|
||||||
0x8C0C0503, // 0005 GETMET R3 R2 K3
|
0x7C080600, // 0005 CALL R2 3
|
||||||
0x7C0C0200, // 0006 CALL R3 1
|
0x8C0C0503, // 0006 GETMET R3 R2 K3
|
||||||
0x8C0C0504, // 0007 GETMET R3 R2 K4
|
0x7C0C0200, // 0007 CALL R3 1
|
||||||
0x7C0C0200, // 0008 CALL R3 1
|
0x8C0C0504, // 0008 GETMET R3 R2 K4
|
||||||
0xB80E0A00, // 0009 GETNGBL R3 K5
|
0x7C0C0200, // 0009 CALL R3 1
|
||||||
0x8C0C0706, // 000A GETMET R3 R3 K6
|
0xB80E0A00, // 000A GETNGBL R3 K5
|
||||||
0xB8160000, // 000B GETNGBL R5 K0
|
0x8C0C0706, // 000B GETMET R3 R3 K6
|
||||||
0x8C140B08, // 000C GETMET R5 R5 K8
|
0xB8160000, // 000C GETNGBL R5 K0
|
||||||
0x5C1C0400, // 000D MOVE R7 R2
|
0x8C140B08, // 000D GETMET R5 R5 K8
|
||||||
0x7C140400, // 000E CALL R5 2
|
0x5C1C0400, // 000E MOVE R7 R2
|
||||||
0x00160E05, // 000F ADD R5 K7 R5
|
0x7C140400, // 000F CALL R5 2
|
||||||
0x541A0003, // 0010 LDINT R6 4
|
0x00160E05, // 0010 ADD R5 K7 R5
|
||||||
0x7C0C0600, // 0011 CALL R3 3
|
0x541A0003, // 0011 LDINT R6 4
|
||||||
0x80000000, // 0012 RET 0
|
0x7C0C0600, // 0012 CALL R3 3
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -1039,7 +1039,7 @@ be_local_closure(Matter_Frame_decrypt, /* name */
|
|||||||
0, /* has sup protos */
|
0, /* has sup protos */
|
||||||
NULL, /* no sub protos */
|
NULL, /* no sub protos */
|
||||||
1, /* has constants */
|
1, /* has constants */
|
||||||
( &(const bvalue[37]) { /* constants */
|
( &(const bvalue[28]) { /* constants */
|
||||||
/* K0 */ be_nested_str_weak(crypto),
|
/* K0 */ be_nested_str_weak(crypto),
|
||||||
/* K1 */ be_nested_str_weak(session),
|
/* K1 */ be_nested_str_weak(session),
|
||||||
/* K2 */ be_nested_str_weak(raw),
|
/* K2 */ be_nested_str_weak(raw),
|
||||||
@ -1065,22 +1065,13 @@ be_local_closure(Matter_Frame_decrypt, /* name */
|
|||||||
/* K22 */ be_nested_str_weak(source_node_id),
|
/* K22 */ be_nested_str_weak(source_node_id),
|
||||||
/* K23 */ be_nested_str_weak(peer_node_id),
|
/* K23 */ be_nested_str_weak(peer_node_id),
|
||||||
/* K24 */ be_nested_str_weak(resize),
|
/* K24 */ be_nested_str_weak(resize),
|
||||||
/* K25 */ be_nested_str_weak(MTR_X3A_X20_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A),
|
/* K25 */ be_nested_str_weak(AES_CCM),
|
||||||
/* K26 */ be_nested_str_weak(MTR_X3A_X20i2r_X20_X20_X20_X20_X20_X20_X20_X20_X20_X3D),
|
/* K26 */ be_nested_str_weak(tag),
|
||||||
/* K27 */ be_nested_str_weak(tohex),
|
/* K27 */ be_nested_str_weak(MTR_X3A_X20rejected_X20packet_X20due_X20to_X20invalid_X20MIC),
|
||||||
/* K28 */ be_nested_str_weak(MTR_X3A_X20p_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X3D),
|
|
||||||
/* K29 */ be_nested_str_weak(MTR_X3A_X20a_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X3D),
|
|
||||||
/* K30 */ be_nested_str_weak(MTR_X3A_X20n_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X3D),
|
|
||||||
/* K31 */ be_nested_str_weak(MTR_X3A_X20mic_X20_X20_X20_X20_X20_X20_X20_X20_X20_X3D),
|
|
||||||
/* K32 */ be_nested_str_weak(AES_CCM),
|
|
||||||
/* K33 */ be_nested_str_weak(tag),
|
|
||||||
/* K34 */ be_nested_str_weak(MTR_X3A_X20cleartext_X20_X20_X20_X3D),
|
|
||||||
/* K35 */ be_nested_str_weak(MTR_X3A_X20tag_X20_X20_X20_X20_X20_X20_X20_X20_X20_X3D),
|
|
||||||
/* K36 */ be_nested_str_weak(MTR_X3A_X20rejected_X20packet_X20due_X20to_X20invalid_X20MIC),
|
|
||||||
}),
|
}),
|
||||||
be_str_weak(decrypt),
|
be_str_weak(decrypt),
|
||||||
&be_const_str_solidified,
|
&be_const_str_solidified,
|
||||||
( &(const binstruction[170]) { /* code */
|
( &(const binstruction[106]) { /* code */
|
||||||
0xA4060000, // 0000 IMPORT R1 K0
|
0xA4060000, // 0000 IMPORT R1 K0
|
||||||
0x88080101, // 0001 GETMBR R2 R0 K1
|
0x88080101, // 0001 GETMBR R2 R0 K1
|
||||||
0x880C0102, // 0002 GETMBR R3 R0 K2
|
0x880C0102, // 0002 GETMBR R3 R0 K2
|
||||||
@ -1163,94 +1154,30 @@ be_local_closure(Matter_Frame_decrypt, /* name */
|
|||||||
0x8C241118, // 004F GETMET R9 R8 K24
|
0x8C241118, // 004F GETMET R9 R8 K24
|
||||||
0x542E000C, // 0050 LDINT R11 13
|
0x542E000C, // 0050 LDINT R11 13
|
||||||
0x7C240400, // 0051 CALL R9 2
|
0x7C240400, // 0051 CALL R9 2
|
||||||
0xB8260C00, // 0052 GETNGBL R9 K6
|
0x8C240319, // 0052 GETMET R9 R1 K25
|
||||||
0x8C241307, // 0053 GETMET R9 R9 K7
|
0x5C2C0A00, // 0053 MOVE R11 R5
|
||||||
0x582C0019, // 0054 LDCONST R11 K25
|
0x5C301000, // 0054 MOVE R12 R8
|
||||||
0x54320003, // 0055 LDINT R12 4
|
0x5C340C00, // 0055 MOVE R13 R6
|
||||||
0x7C240600, // 0056 CALL R9 3
|
0x6038000C, // 0056 GETGBL R14 G12
|
||||||
0xB8260C00, // 0057 GETNGBL R9 K6
|
0x5C3C0E00, // 0057 MOVE R15 R7
|
||||||
0x8C241307, // 0058 GETMET R9 R9 K7
|
0x7C380200, // 0058 CALL R14 1
|
||||||
0x8C2C0B1B, // 0059 GETMET R11 R5 K27
|
0x543E000F, // 0059 LDINT R15 16
|
||||||
0x7C2C0200, // 005A CALL R11 1
|
0x7C240C00, // 005A CALL R9 6
|
||||||
0x002E340B, // 005B ADD R11 K26 R11
|
0x8C281310, // 005B GETMET R10 R9 K16
|
||||||
0x54320003, // 005C LDINT R12 4
|
0x5C300E00, // 005C MOVE R12 R7
|
||||||
0x7C240600, // 005D CALL R9 3
|
0x7C280400, // 005D CALL R10 2
|
||||||
0xB8260C00, // 005E GETNGBL R9 K6
|
0x8C2C131A, // 005E GETMET R11 R9 K26
|
||||||
0x8C241307, // 005F GETMET R9 R9 K7
|
0x7C2C0200, // 005F CALL R11 1
|
||||||
0x8C2C0F1B, // 0060 GETMET R11 R7 K27
|
0x20301604, // 0060 NE R12 R11 R4
|
||||||
0x7C2C0200, // 0061 CALL R11 1
|
0x78320006, // 0061 JMPF R12 #0069
|
||||||
0x002E380B, // 0062 ADD R11 K28 R11
|
0xB8320C00, // 0062 GETNGBL R12 K6
|
||||||
0x54320003, // 0063 LDINT R12 4
|
0x8C301907, // 0063 GETMET R12 R12 K7
|
||||||
0x7C240600, // 0064 CALL R9 3
|
0x5838001B, // 0064 LDCONST R14 K27
|
||||||
0xB8260C00, // 0065 GETNGBL R9 K6
|
0x583C0009, // 0065 LDCONST R15 K9
|
||||||
0x8C241307, // 0066 GETMET R9 R9 K7
|
0x7C300600, // 0066 CALL R12 3
|
||||||
0x8C2C0D1B, // 0067 GETMET R11 R6 K27
|
0x4C300000, // 0067 LDNIL R12
|
||||||
0x7C2C0200, // 0068 CALL R11 1
|
0x80041800, // 0068 RET 1 R12
|
||||||
0x002E3A0B, // 0069 ADD R11 K29 R11
|
0x80041400, // 0069 RET 1 R10
|
||||||
0x54320003, // 006A LDINT R12 4
|
|
||||||
0x7C240600, // 006B CALL R9 3
|
|
||||||
0xB8260C00, // 006C GETNGBL R9 K6
|
|
||||||
0x8C241307, // 006D GETMET R9 R9 K7
|
|
||||||
0x8C2C111B, // 006E GETMET R11 R8 K27
|
|
||||||
0x7C2C0200, // 006F CALL R11 1
|
|
||||||
0x002E3C0B, // 0070 ADD R11 K30 R11
|
|
||||||
0x54320003, // 0071 LDINT R12 4
|
|
||||||
0x7C240600, // 0072 CALL R9 3
|
|
||||||
0xB8260C00, // 0073 GETNGBL R9 K6
|
|
||||||
0x8C241307, // 0074 GETMET R9 R9 K7
|
|
||||||
0x8C2C091B, // 0075 GETMET R11 R4 K27
|
|
||||||
0x7C2C0200, // 0076 CALL R11 1
|
|
||||||
0x002E3E0B, // 0077 ADD R11 K31 R11
|
|
||||||
0x54320003, // 0078 LDINT R12 4
|
|
||||||
0x7C240600, // 0079 CALL R9 3
|
|
||||||
0x8C240320, // 007A GETMET R9 R1 K32
|
|
||||||
0x5C2C0A00, // 007B MOVE R11 R5
|
|
||||||
0x5C301000, // 007C MOVE R12 R8
|
|
||||||
0x5C340C00, // 007D MOVE R13 R6
|
|
||||||
0x6038000C, // 007E GETGBL R14 G12
|
|
||||||
0x5C3C0E00, // 007F MOVE R15 R7
|
|
||||||
0x7C380200, // 0080 CALL R14 1
|
|
||||||
0x543E000F, // 0081 LDINT R15 16
|
|
||||||
0x7C240C00, // 0082 CALL R9 6
|
|
||||||
0x8C281310, // 0083 GETMET R10 R9 K16
|
|
||||||
0x5C300E00, // 0084 MOVE R12 R7
|
|
||||||
0x7C280400, // 0085 CALL R10 2
|
|
||||||
0x8C2C1321, // 0086 GETMET R11 R9 K33
|
|
||||||
0x7C2C0200, // 0087 CALL R11 1
|
|
||||||
0xB8320C00, // 0088 GETNGBL R12 K6
|
|
||||||
0x8C301907, // 0089 GETMET R12 R12 K7
|
|
||||||
0x58380019, // 008A LDCONST R14 K25
|
|
||||||
0x543E0003, // 008B LDINT R15 4
|
|
||||||
0x7C300600, // 008C CALL R12 3
|
|
||||||
0xB8320C00, // 008D GETNGBL R12 K6
|
|
||||||
0x8C301907, // 008E GETMET R12 R12 K7
|
|
||||||
0x8C38151B, // 008F GETMET R14 R10 K27
|
|
||||||
0x7C380200, // 0090 CALL R14 1
|
|
||||||
0x003A440E, // 0091 ADD R14 K34 R14
|
|
||||||
0x543E0003, // 0092 LDINT R15 4
|
|
||||||
0x7C300600, // 0093 CALL R12 3
|
|
||||||
0xB8320C00, // 0094 GETNGBL R12 K6
|
|
||||||
0x8C301907, // 0095 GETMET R12 R12 K7
|
|
||||||
0x8C38171B, // 0096 GETMET R14 R11 K27
|
|
||||||
0x7C380200, // 0097 CALL R14 1
|
|
||||||
0x003A460E, // 0098 ADD R14 K35 R14
|
|
||||||
0x543E0003, // 0099 LDINT R15 4
|
|
||||||
0x7C300600, // 009A CALL R12 3
|
|
||||||
0xB8320C00, // 009B GETNGBL R12 K6
|
|
||||||
0x8C301907, // 009C GETMET R12 R12 K7
|
|
||||||
0x58380019, // 009D LDCONST R14 K25
|
|
||||||
0x543E0003, // 009E LDINT R15 4
|
|
||||||
0x7C300600, // 009F CALL R12 3
|
|
||||||
0x20301604, // 00A0 NE R12 R11 R4
|
|
||||||
0x78320006, // 00A1 JMPF R12 #00A9
|
|
||||||
0xB8320C00, // 00A2 GETNGBL R12 K6
|
|
||||||
0x8C301907, // 00A3 GETMET R12 R12 K7
|
|
||||||
0x58380024, // 00A4 LDCONST R14 K36
|
|
||||||
0x583C0009, // 00A5 LDCONST R15 K9
|
|
||||||
0x7C300600, // 00A6 CALL R12 3
|
|
||||||
0x4C300000, // 00A7 LDNIL R12
|
|
||||||
0x80041800, // 00A8 RET 1 R12
|
|
||||||
0x80041400, // 00A9 RET 1 R10
|
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
@ -221,7 +221,7 @@ be_local_closure(Matter_MessageHandler_msg_received, /* name */
|
|||||||
0, /* has sup protos */
|
0, /* has sup protos */
|
||||||
NULL, /* no sub protos */
|
NULL, /* no sub protos */
|
||||||
1, /* has constants */
|
1, /* has constants */
|
||||||
( &(const bvalue[75]) { /* constants */
|
( &(const bvalue[74]) { /* constants */
|
||||||
/* K0 */ be_nested_str_weak(string),
|
/* K0 */ be_nested_str_weak(string),
|
||||||
/* K1 */ be_nested_str_weak(matter),
|
/* K1 */ be_nested_str_weak(matter),
|
||||||
/* K2 */ be_nested_str_weak(Frame),
|
/* K2 */ be_nested_str_weak(Frame),
|
||||||
@ -238,30 +238,30 @@ be_local_closure(Matter_MessageHandler_msg_received, /* name */
|
|||||||
/* K13 */ be_nested_str_weak(MTR_X3A_X20find_X20session_X20by_X20source_node_id_X20_X3D_X20),
|
/* K13 */ be_nested_str_weak(MTR_X3A_X20find_X20session_X20by_X20source_node_id_X20_X3D_X20),
|
||||||
/* K14 */ be_nested_str_weak(_X20session_id_X20_X3D_X20),
|
/* K14 */ be_nested_str_weak(_X20session_id_X20_X3D_X20),
|
||||||
/* K15 */ be_nested_str_weak(local_session_id),
|
/* K15 */ be_nested_str_weak(local_session_id),
|
||||||
/* K16 */ be_const_int(2),
|
/* K16 */ be_nested_str_weak(control_message),
|
||||||
/* K17 */ be_nested_str_weak(control_message),
|
/* K17 */ be_nested_str_weak(process_incoming_control_message),
|
||||||
/* K18 */ be_nested_str_weak(process_incoming_control_message),
|
/* K18 */ be_const_int(0),
|
||||||
/* K19 */ be_const_int(0),
|
/* K19 */ be_nested_str_weak(sec_sesstype),
|
||||||
/* K20 */ be_nested_str_weak(sec_sesstype),
|
/* K20 */ be_nested_str_weak(_ip),
|
||||||
/* K21 */ be_const_int(3),
|
/* K21 */ be_nested_str_weak(_port),
|
||||||
/* K22 */ be_nested_str_weak(_ip),
|
/* K22 */ be_nested_str_weak(_message_handler),
|
||||||
/* K23 */ be_nested_str_weak(_port),
|
/* K23 */ be_nested_str_weak(session),
|
||||||
/* K24 */ be_nested_str_weak(_message_handler),
|
/* K24 */ be_nested_str_weak(_counter_insecure_rcv),
|
||||||
/* K25 */ be_nested_str_weak(session),
|
/* K25 */ be_nested_str_weak(validate),
|
||||||
/* K26 */ be_nested_str_weak(_counter_insecure_rcv),
|
/* K26 */ be_nested_str_weak(message_counter),
|
||||||
/* K27 */ be_nested_str_weak(validate),
|
/* K27 */ be_nested_str_weak(format),
|
||||||
/* K28 */ be_nested_str_weak(message_counter),
|
/* K28 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Duplicate_X20unencrypted_X20message_X20_X3D_X20_X25i_X20ref_X20_X3D_X20_X25i),
|
||||||
/* K29 */ be_nested_str_weak(format),
|
/* K29 */ be_nested_str_weak(val),
|
||||||
/* K30 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Duplicate_X20unencrypted_X20message_X20_X3D_X20_X25i_X20ref_X20_X3D_X20_X25i),
|
/* K30 */ be_const_int(3),
|
||||||
/* K31 */ be_nested_str_weak(val),
|
/* K31 */ be_nested_str_weak(send_simple_ack),
|
||||||
/* K32 */ be_nested_str_weak(send_simple_ack),
|
/* K32 */ be_nested_str_weak(decode_payload),
|
||||||
/* K33 */ be_nested_str_weak(decode_payload),
|
/* K33 */ be_nested_str_weak(received_ack),
|
||||||
/* K34 */ be_nested_str_weak(received_ack),
|
/* K34 */ be_nested_str_weak(opcode),
|
||||||
/* K35 */ be_nested_str_weak(opcode),
|
/* K35 */ be_nested_str_weak(get_opcode_name),
|
||||||
/* K36 */ be_nested_str_weak(get_opcode_name),
|
/* K36 */ be_nested_str_weak(0x_X2502X),
|
||||||
/* K37 */ be_nested_str_weak(0x_X2502X),
|
/* K37 */ be_nested_str_weak(MTR_X3A_X20_X3EReceived_X20_X20_X28_X256i_X29_X20_X25s_X20rid_X3D_X25i_X20exch_X3D_X25i_X20from_X20_X5B_X25s_X5D_X3A_X25i),
|
||||||
/* K38 */ be_nested_str_weak(MTR_X3A_X20_X3EReceived_X20_X20_X28_X256i_X29_X20_X25s_X20rid_X3D_X25i_X20exch_X3D_X25i_X20from_X20_X5B_X25s_X5D_X3A_X25i),
|
/* K38 */ be_nested_str_weak(exchange_id),
|
||||||
/* K39 */ be_nested_str_weak(exchange_id),
|
/* K39 */ be_const_int(2),
|
||||||
/* K40 */ be_nested_str_weak(MTR_X3A_X20_X3Ercv_X20Ack_X20_X20_X20_X28_X256i_X29_X20rid_X3D_X25i_X20exch_X3D_X25i_X20ack_X3D_X25s_X20_X25sfrom_X20_X5B_X25s_X5D_X3A_X25i),
|
/* K40 */ be_nested_str_weak(MTR_X3A_X20_X3Ercv_X20Ack_X20_X20_X20_X28_X256i_X29_X20rid_X3D_X25i_X20exch_X3D_X25i_X20ack_X3D_X25s_X20_X25sfrom_X20_X5B_X25s_X5D_X3A_X25i),
|
||||||
/* K41 */ be_nested_str_weak(x_flag_r),
|
/* K41 */ be_nested_str_weak(x_flag_r),
|
||||||
/* K42 */ be_nested_str_weak(_X7Breliable_X7D_X20),
|
/* K42 */ be_nested_str_weak(_X7Breliable_X7D_X20),
|
||||||
@ -288,22 +288,21 @@ be_local_closure(Matter_MessageHandler_msg_received, /* name */
|
|||||||
/* K63 */ be_nested_str_weak(_X20opcode_X3D),
|
/* K63 */ be_nested_str_weak(_X20opcode_X3D),
|
||||||
/* K64 */ be_nested_str_weak(_X20exchange_id_X3D),
|
/* K64 */ be_nested_str_weak(_X20exchange_id_X3D),
|
||||||
/* K65 */ be_nested_str_weak(MTR_X3A_X20_X3Ercv_X20_X20_X20_X20_X20_X20_X20_X28_X256i_X29_X20_X5B_X2502X_X2F_X2502X_X5D_X20rid_X3D_X25i_X20exch_X3D_X25i_X20ack_X3D_X25s_X20_X25sfrom_X20_X5B_X25s_X5D_X3A_X25i),
|
/* K65 */ be_nested_str_weak(MTR_X3A_X20_X3Ercv_X20_X20_X20_X20_X20_X20_X20_X28_X256i_X29_X20_X5B_X2502X_X2F_X2502X_X5D_X20rid_X3D_X25i_X20exch_X3D_X25i_X20ack_X3D_X25s_X20_X25sfrom_X20_X5B_X25s_X5D_X3A_X25i),
|
||||||
/* K66 */ be_nested_str_weak(MTR_X3A_X20PROTOCOL_ID_SECURE_CHANNEL_X20),
|
/* K66 */ be_nested_str_weak(im),
|
||||||
/* K67 */ be_nested_str_weak(im),
|
/* K67 */ be_nested_str_weak(process_incoming_ack),
|
||||||
/* K68 */ be_nested_str_weak(process_incoming_ack),
|
/* K68 */ be_nested_str_weak(send_enqueued),
|
||||||
/* K69 */ be_nested_str_weak(send_enqueued),
|
/* K69 */ be_nested_str_weak(MTR_X3A_X20ignoring_X20unhandled_X20protocol_id_X3A),
|
||||||
/* K70 */ be_nested_str_weak(MTR_X3A_X20ignoring_X20unhandled_X20protocol_id_X3A),
|
/* K70 */ be_nested_str_weak(MTR_X3A_X20MessageHandler_X3A_X3Amsg_received_X20exception_X3A_X20),
|
||||||
/* K71 */ be_nested_str_weak(MTR_X3A_X20MessageHandler_X3A_X3Amsg_received_X20exception_X3A_X20),
|
/* K71 */ be_nested_str_weak(_X3B),
|
||||||
/* K72 */ be_nested_str_weak(_X3B),
|
/* K72 */ be_nested_str_weak(debug),
|
||||||
/* K73 */ be_nested_str_weak(debug),
|
/* K73 */ be_nested_str_weak(traceback),
|
||||||
/* K74 */ be_nested_str_weak(traceback),
|
|
||||||
}),
|
}),
|
||||||
be_str_weak(msg_received),
|
be_str_weak(msg_received),
|
||||||
&be_const_str_solidified,
|
&be_const_str_solidified,
|
||||||
( &(const binstruction[396]) { /* code */
|
( &(const binstruction[388]) { /* code */
|
||||||
0xA4120000, // 0000 IMPORT R4 K0
|
0xA4120000, // 0000 IMPORT R4 K0
|
||||||
0x50140000, // 0001 LDBOOL R5 0 0
|
0x50140000, // 0001 LDBOOL R5 0 0
|
||||||
0xA8020172, // 0002 EXBLK 0 #0176
|
0xA802016A, // 0002 EXBLK 0 #016E
|
||||||
0xB81A0200, // 0003 GETNGBL R6 K1
|
0xB81A0200, // 0003 GETNGBL R6 K1
|
||||||
0x8C180D02, // 0004 GETMET R6 R6 K2
|
0x8C180D02, // 0004 GETMET R6 R6 K2
|
||||||
0x5C200000, // 0005 MOVE R8 R0
|
0x5C200000, // 0005 MOVE R8 R0
|
||||||
@ -319,7 +318,7 @@ be_local_closure(Matter_MessageHandler_msg_received, /* name */
|
|||||||
0xA8040001, // 000F EXBLK 1 1
|
0xA8040001, // 000F EXBLK 1 1
|
||||||
0x80041000, // 0010 RET 1 R8
|
0x80041000, // 0010 RET 1 R8
|
||||||
0x88200D04, // 0011 GETMBR R8 R6 K4
|
0x88200D04, // 0011 GETMBR R8 R6 K4
|
||||||
0x78220021, // 0012 JMPF R8 #0035
|
0x78220022, // 0012 JMPF R8 #0036
|
||||||
0xB8220A00, // 0013 GETNGBL R8 K5
|
0xB8220A00, // 0013 GETNGBL R8 K5
|
||||||
0x8C201106, // 0014 GETMET R8 R8 K6
|
0x8C201106, // 0014 GETMET R8 R8 K6
|
||||||
0xB82A0200, // 0015 GETNGBL R10 K1
|
0xB82A0200, // 0015 GETNGBL R10 K1
|
||||||
@ -327,376 +326,368 @@ be_local_closure(Matter_MessageHandler_msg_received, /* name */
|
|||||||
0x5C300C00, // 0017 MOVE R12 R6
|
0x5C300C00, // 0017 MOVE R12 R6
|
||||||
0x7C280400, // 0018 CALL R10 2
|
0x7C280400, // 0018 CALL R10 2
|
||||||
0x002A0E0A, // 0019 ADD R10 K7 R10
|
0x002A0E0A, // 0019 ADD R10 K7 R10
|
||||||
0x7C200400, // 001A CALL R8 2
|
0x542E0003, // 001A LDINT R11 4
|
||||||
0x88200109, // 001B GETMBR R8 R0 K9
|
0x7C200600, // 001B CALL R8 3
|
||||||
0x8820110A, // 001C GETMBR R8 R8 K10
|
0x88200109, // 001C GETMBR R8 R0 K9
|
||||||
0x8C20110B, // 001D GETMET R8 R8 K11
|
0x8820110A, // 001D GETMBR R8 R8 K10
|
||||||
0x88280D0C, // 001E GETMBR R10 R6 K12
|
0x8C20110B, // 001E GETMET R8 R8 K11
|
||||||
0x542E0059, // 001F LDINT R11 90
|
0x88280D0C, // 001F GETMBR R10 R6 K12
|
||||||
0x7C200600, // 0020 CALL R8 3
|
0x542E0059, // 0020 LDINT R11 90
|
||||||
0xB8260A00, // 0021 GETNGBL R9 K5
|
0x7C200600, // 0021 CALL R8 3
|
||||||
0x8C241306, // 0022 GETMET R9 R9 K6
|
0xB8260A00, // 0022 GETNGBL R9 K5
|
||||||
0x602C0008, // 0023 GETGBL R11 G8
|
0x8C241306, // 0023 GETMET R9 R9 K6
|
||||||
0x88300D0C, // 0024 GETMBR R12 R6 K12
|
0x602C0008, // 0024 GETGBL R11 G8
|
||||||
0x7C2C0200, // 0025 CALL R11 1
|
0x88300D0C, // 0025 GETMBR R12 R6 K12
|
||||||
0x002E1A0B, // 0026 ADD R11 K13 R11
|
0x7C2C0200, // 0026 CALL R11 1
|
||||||
0x002C170E, // 0027 ADD R11 R11 K14
|
0x002E1A0B, // 0027 ADD R11 K13 R11
|
||||||
0x60300008, // 0028 GETGBL R12 G8
|
0x002C170E, // 0028 ADD R11 R11 K14
|
||||||
0x8834110F, // 0029 GETMBR R13 R8 K15
|
0x60300008, // 0029 GETGBL R12 G8
|
||||||
0x7C300200, // 002A CALL R12 1
|
0x8834110F, // 002A GETMBR R13 R8 K15
|
||||||
0x002C160C, // 002B ADD R11 R11 R12
|
0x7C300200, // 002B CALL R12 1
|
||||||
0x58300010, // 002C LDCONST R12 K16
|
0x002C160C, // 002C ADD R11 R11 R12
|
||||||
0x7C240600, // 002D CALL R9 3
|
0x54320003, // 002D LDINT R12 4
|
||||||
0x88240111, // 002E GETMBR R9 R0 K17
|
0x7C240600, // 002E CALL R9 3
|
||||||
0x8C241312, // 002F GETMET R9 R9 K18
|
0x88240110, // 002F GETMBR R9 R0 K16
|
||||||
0x5C2C0C00, // 0030 MOVE R11 R6
|
0x8C241311, // 0030 GETMET R9 R9 K17
|
||||||
0x7C240400, // 0031 CALL R9 2
|
0x5C2C0C00, // 0031 MOVE R11 R6
|
||||||
0xA8040001, // 0032 EXBLK 1 1
|
0x7C240400, // 0032 CALL R9 2
|
||||||
0x80041200, // 0033 RET 1 R9
|
0xA8040001, // 0033 EXBLK 1 1
|
||||||
0x7002013C, // 0034 JMP #0172
|
0x80041200, // 0034 RET 1 R9
|
||||||
0x88200D0F, // 0035 GETMBR R8 R6 K15
|
0x70020133, // 0035 JMP #016A
|
||||||
0x1C201113, // 0036 EQ R8 R8 K19
|
0x88200D0F, // 0036 GETMBR R8 R6 K15
|
||||||
0x7822007D, // 0037 JMPF R8 #00B6
|
0x1C201112, // 0037 EQ R8 R8 K18
|
||||||
0x88200D14, // 0038 GETMBR R8 R6 K20
|
0x7822007D, // 0038 JMPF R8 #00B7
|
||||||
0x1C201113, // 0039 EQ R8 R8 K19
|
0x88200D13, // 0039 GETMBR R8 R6 K19
|
||||||
0x7822007A, // 003A JMPF R8 #00B6
|
0x1C201112, // 003A EQ R8 R8 K18
|
||||||
0x88200109, // 003B GETMBR R8 R0 K9
|
0x7822007A, // 003B JMPF R8 #00B7
|
||||||
0x8820110A, // 003C GETMBR R8 R8 K10
|
0x88200109, // 003C GETMBR R8 R0 K9
|
||||||
0x8C20110B, // 003D GETMET R8 R8 K11
|
0x8820110A, // 003D GETMBR R8 R8 K10
|
||||||
0x88280D0C, // 003E GETMBR R10 R6 K12
|
0x8C20110B, // 003E GETMET R8 R8 K11
|
||||||
0x542E0059, // 003F LDINT R11 90
|
0x88280D0C, // 003F GETMBR R10 R6 K12
|
||||||
0x7C200600, // 0040 CALL R8 3
|
0x542E0059, // 0040 LDINT R11 90
|
||||||
0xB8260A00, // 0041 GETNGBL R9 K5
|
0x7C200600, // 0041 CALL R8 3
|
||||||
0x8C241306, // 0042 GETMET R9 R9 K6
|
0xB8260A00, // 0042 GETNGBL R9 K5
|
||||||
0x602C0008, // 0043 GETGBL R11 G8
|
0x8C241306, // 0043 GETMET R9 R9 K6
|
||||||
0x88300D0C, // 0044 GETMBR R12 R6 K12
|
0x602C0008, // 0044 GETGBL R11 G8
|
||||||
0x7C2C0200, // 0045 CALL R11 1
|
0x88300D0C, // 0045 GETMBR R12 R6 K12
|
||||||
0x002E1A0B, // 0046 ADD R11 K13 R11
|
0x7C2C0200, // 0046 CALL R11 1
|
||||||
0x002C170E, // 0047 ADD R11 R11 K14
|
0x002E1A0B, // 0047 ADD R11 K13 R11
|
||||||
0x60300008, // 0048 GETGBL R12 G8
|
0x002C170E, // 0048 ADD R11 R11 K14
|
||||||
0x8834110F, // 0049 GETMBR R13 R8 K15
|
0x60300008, // 0049 GETGBL R12 G8
|
||||||
0x7C300200, // 004A CALL R12 1
|
0x8834110F, // 004A GETMBR R13 R8 K15
|
||||||
0x002C160C, // 004B ADD R11 R11 R12
|
0x7C300200, // 004B CALL R12 1
|
||||||
0x58300015, // 004C LDCONST R12 K21
|
0x002C160C, // 004C ADD R11 R11 R12
|
||||||
0x7C240600, // 004D CALL R9 3
|
0x54320003, // 004D LDINT R12 4
|
||||||
0x780A0000, // 004E JMPF R2 #0050
|
0x7C240600, // 004E CALL R9 3
|
||||||
0x90222C02, // 004F SETMBR R8 K22 R2
|
0x780A0000, // 004F JMPF R2 #0051
|
||||||
0x780E0000, // 0050 JMPF R3 #0052
|
0x90222802, // 0050 SETMBR R8 K20 R2
|
||||||
0x90222E03, // 0051 SETMBR R8 K23 R3
|
0x780E0000, // 0051 JMPF R3 #0053
|
||||||
0x90223000, // 0052 SETMBR R8 K24 R0
|
0x90222A03, // 0052 SETMBR R8 K21 R3
|
||||||
0x901A3208, // 0053 SETMBR R6 K25 R8
|
0x90222C00, // 0053 SETMBR R8 K22 R0
|
||||||
0x8824111A, // 0054 GETMBR R9 R8 K26
|
0x901A2E08, // 0054 SETMBR R6 K23 R8
|
||||||
0x8C24131B, // 0055 GETMET R9 R9 K27
|
0x88241118, // 0055 GETMBR R9 R8 K24
|
||||||
0x882C0D1C, // 0056 GETMBR R11 R6 K28
|
0x8C241319, // 0056 GETMET R9 R9 K25
|
||||||
0x50300000, // 0057 LDBOOL R12 0 0
|
0x882C0D1A, // 0057 GETMBR R11 R6 K26
|
||||||
0x7C240600, // 0058 CALL R9 3
|
0x50300000, // 0058 LDBOOL R12 0 0
|
||||||
0x74260011, // 0059 JMPT R9 #006C
|
0x7C240600, // 0059 CALL R9 3
|
||||||
0xB8260A00, // 005A GETNGBL R9 K5
|
0x74260011, // 005A JMPT R9 #006D
|
||||||
0x8C241306, // 005B GETMET R9 R9 K6
|
0xB8260A00, // 005B GETNGBL R9 K5
|
||||||
0x8C2C091D, // 005C GETMET R11 R4 K29
|
0x8C241306, // 005C GETMET R9 R9 K6
|
||||||
0x5834001E, // 005D LDCONST R13 K30
|
0x8C2C091B, // 005D GETMET R11 R4 K27
|
||||||
0x88380D1C, // 005E GETMBR R14 R6 K28
|
0x5834001C, // 005E LDCONST R13 K28
|
||||||
0x883C111A, // 005F GETMBR R15 R8 K26
|
0x88380D1A, // 005F GETMBR R14 R6 K26
|
||||||
0x8C3C1F1F, // 0060 GETMET R15 R15 K31
|
0x883C1118, // 0060 GETMBR R15 R8 K24
|
||||||
0x7C3C0200, // 0061 CALL R15 1
|
0x8C3C1F1D, // 0061 GETMET R15 R15 K29
|
||||||
0x7C2C0800, // 0062 CALL R11 4
|
0x7C3C0200, // 0062 CALL R15 1
|
||||||
0x58300015, // 0063 LDCONST R12 K21
|
0x7C2C0800, // 0063 CALL R11 4
|
||||||
0x7C240600, // 0064 CALL R9 3
|
0x5830001E, // 0064 LDCONST R12 K30
|
||||||
0x8C240120, // 0065 GETMET R9 R0 K32
|
0x7C240600, // 0065 CALL R9 3
|
||||||
0x5C2C0C00, // 0066 MOVE R11 R6
|
0x8C24011F, // 0066 GETMET R9 R0 K31
|
||||||
0x50300000, // 0067 LDBOOL R12 0 0
|
0x5C2C0C00, // 0067 MOVE R11 R6
|
||||||
0x7C240600, // 0068 CALL R9 3
|
0x50300000, // 0068 LDBOOL R12 0 0
|
||||||
0x50240000, // 0069 LDBOOL R9 0 0
|
0x7C240600, // 0069 CALL R9 3
|
||||||
0xA8040001, // 006A EXBLK 1 1
|
0x50240000, // 006A LDBOOL R9 0 0
|
||||||
0x80041200, // 006B RET 1 R9
|
0xA8040001, // 006B EXBLK 1 1
|
||||||
0x8C240D21, // 006C GETMET R9 R6 K33
|
0x80041200, // 006C RET 1 R9
|
||||||
0x7C240200, // 006D CALL R9 1
|
0x8C240D20, // 006D GETMET R9 R6 K32
|
||||||
0x74260002, // 006E JMPT R9 #0072
|
0x7C240200, // 006E CALL R9 1
|
||||||
0x50240000, // 006F LDBOOL R9 0 0
|
0x74260002, // 006F JMPT R9 #0073
|
||||||
0xA8040001, // 0070 EXBLK 1 1
|
0x50240000, // 0070 LDBOOL R9 0 0
|
||||||
0x80041200, // 0071 RET 1 R9
|
0xA8040001, // 0071 EXBLK 1 1
|
||||||
0x88240109, // 0072 GETMBR R9 R0 K9
|
0x80041200, // 0072 RET 1 R9
|
||||||
0x8C241322, // 0073 GETMET R9 R9 K34
|
0x88240109, // 0073 GETMBR R9 R0 K9
|
||||||
0x5C2C0C00, // 0074 MOVE R11 R6
|
0x8C241321, // 0074 GETMET R9 R9 K33
|
||||||
0x7C240400, // 0075 CALL R9 2
|
0x5C2C0C00, // 0075 MOVE R11 R6
|
||||||
0x88240D23, // 0076 GETMBR R9 R6 K35
|
0x7C240400, // 0076 CALL R9 2
|
||||||
0x542A000F, // 0077 LDINT R10 16
|
0x88240D22, // 0077 GETMBR R9 R6 K34
|
||||||
0x2024120A, // 0078 NE R9 R9 R10
|
0x542A000F, // 0078 LDINT R10 16
|
||||||
0x78260018, // 0079 JMPF R9 #0093
|
0x2024120A, // 0079 NE R9 R9 R10
|
||||||
0xB8260200, // 007A GETNGBL R9 K1
|
0x78260018, // 007A JMPF R9 #0094
|
||||||
0x8C241324, // 007B GETMET R9 R9 K36
|
0xB8260200, // 007B GETNGBL R9 K1
|
||||||
0x882C0D23, // 007C GETMBR R11 R6 K35
|
0x8C241323, // 007C GETMET R9 R9 K35
|
||||||
0x7C240400, // 007D CALL R9 2
|
0x882C0D22, // 007D GETMBR R11 R6 K34
|
||||||
0x5C281200, // 007E MOVE R10 R9
|
0x7C240400, // 007E CALL R9 2
|
||||||
0x742A0004, // 007F JMPT R10 #0085
|
0x5C281200, // 007F MOVE R10 R9
|
||||||
0x8C28091D, // 0080 GETMET R10 R4 K29
|
0x742A0004, // 0080 JMPT R10 #0086
|
||||||
0x58300025, // 0081 LDCONST R12 K37
|
0x8C28091B, // 0081 GETMET R10 R4 K27
|
||||||
0x88340D23, // 0082 GETMBR R13 R6 K35
|
0x58300024, // 0082 LDCONST R12 K36
|
||||||
0x7C280600, // 0083 CALL R10 3
|
0x88340D22, // 0083 GETMBR R13 R6 K34
|
||||||
0x5C241400, // 0084 MOVE R9 R10
|
0x7C280600, // 0084 CALL R10 3
|
||||||
0xB82A0A00, // 0085 GETNGBL R10 K5
|
0x5C241400, // 0085 MOVE R9 R10
|
||||||
0x8C281506, // 0086 GETMET R10 R10 K6
|
0xB82A0A00, // 0086 GETNGBL R10 K5
|
||||||
0x8C30091D, // 0087 GETMET R12 R4 K29
|
0x8C281506, // 0087 GETMET R10 R10 K6
|
||||||
0x58380026, // 0088 LDCONST R14 K38
|
0x8C30091B, // 0088 GETMET R12 R4 K27
|
||||||
0x883C110F, // 0089 GETMBR R15 R8 K15
|
0x58380025, // 0089 LDCONST R14 K37
|
||||||
0x5C401200, // 008A MOVE R16 R9
|
0x883C110F, // 008A GETMBR R15 R8 K15
|
||||||
0x88440D1C, // 008B GETMBR R17 R6 K28
|
0x5C401200, // 008B MOVE R16 R9
|
||||||
0x88480D27, // 008C GETMBR R18 R6 K39
|
0x88440D1A, // 008C GETMBR R17 R6 K26
|
||||||
0x5C4C0400, // 008D MOVE R19 R2
|
0x88480D26, // 008D GETMBR R18 R6 K38
|
||||||
0x5C500600, // 008E MOVE R20 R3
|
0x5C4C0400, // 008E MOVE R19 R2
|
||||||
0x7C301000, // 008F CALL R12 8
|
0x5C500600, // 008F MOVE R20 R3
|
||||||
0x58340010, // 0090 LDCONST R13 K16
|
0x7C301000, // 0090 CALL R12 8
|
||||||
0x7C280600, // 0091 CALL R10 3
|
0x58340027, // 0091 LDCONST R13 K39
|
||||||
0x70020013, // 0092 JMP #00A7
|
0x7C280600, // 0092 CALL R10 3
|
||||||
0xB8260A00, // 0093 GETNGBL R9 K5
|
0x70020013, // 0093 JMP #00A8
|
||||||
0x8C241306, // 0094 GETMET R9 R9 K6
|
0xB8260A00, // 0094 GETNGBL R9 K5
|
||||||
0x8C2C091D, // 0095 GETMET R11 R4 K29
|
0x8C241306, // 0095 GETMET R9 R9 K6
|
||||||
0x58340028, // 0096 LDCONST R13 K40
|
0x8C2C091B, // 0096 GETMET R11 R4 K27
|
||||||
0x8838110F, // 0097 GETMBR R14 R8 K15
|
0x58340028, // 0097 LDCONST R13 K40
|
||||||
0x883C0D1C, // 0098 GETMBR R15 R6 K28
|
0x8838110F, // 0098 GETMBR R14 R8 K15
|
||||||
0x88400D29, // 0099 GETMBR R16 R6 K41
|
0x883C0D1A, // 0099 GETMBR R15 R6 K26
|
||||||
0x78420001, // 009A JMPF R16 #009D
|
0x88400D29, // 009A GETMBR R16 R6 K41
|
||||||
0x5840002A, // 009B LDCONST R16 K42
|
0x78420001, // 009B JMPF R16 #009E
|
||||||
0x70020000, // 009C JMP #009E
|
0x5840002A, // 009C LDCONST R16 K42
|
||||||
0x5840002B, // 009D LDCONST R16 K43
|
0x70020000, // 009D JMP #009F
|
||||||
0x88440D27, // 009E GETMBR R17 R6 K39
|
0x5840002B, // 009E LDCONST R16 K43
|
||||||
0x60480008, // 009F GETGBL R18 G8
|
0x88440D26, // 009F GETMBR R17 R6 K38
|
||||||
0x884C0D2C, // 00A0 GETMBR R19 R6 K44
|
0x60480008, // 00A0 GETGBL R18 G8
|
||||||
0x7C480200, // 00A1 CALL R18 1
|
0x884C0D2C, // 00A1 GETMBR R19 R6 K44
|
||||||
0x5C4C0400, // 00A2 MOVE R19 R2
|
0x7C480200, // 00A2 CALL R18 1
|
||||||
0x5C500600, // 00A3 MOVE R20 R3
|
0x5C4C0400, // 00A3 MOVE R19 R2
|
||||||
0x7C2C1200, // 00A4 CALL R11 9
|
0x5C500600, // 00A4 MOVE R20 R3
|
||||||
0x58300015, // 00A5 LDCONST R12 K21
|
0x7C2C1200, // 00A5 CALL R11 9
|
||||||
0x7C240600, // 00A6 CALL R9 3
|
0x5830001E, // 00A6 LDCONST R12 K30
|
||||||
0x8824012D, // 00A7 GETMBR R9 R0 K45
|
0x7C240600, // 00A7 CALL R9 3
|
||||||
0x8C24132E, // 00A8 GETMET R9 R9 K46
|
0x8824012D, // 00A8 GETMBR R9 R0 K45
|
||||||
0x5C2C0C00, // 00A9 MOVE R11 R6
|
0x8C24132E, // 00A9 GETMET R9 R9 K46
|
||||||
0x7C240400, // 00AA CALL R9 2
|
0x5C2C0C00, // 00AA MOVE R11 R6
|
||||||
0x5C141200, // 00AB MOVE R5 R9
|
0x7C240400, // 00AB CALL R9 2
|
||||||
0x5C240A00, // 00AC MOVE R9 R5
|
0x5C141200, // 00AC MOVE R5 R9
|
||||||
0x74260003, // 00AD JMPT R9 #00B2
|
0x5C240A00, // 00AD MOVE R9 R5
|
||||||
0x8C240120, // 00AE GETMET R9 R0 K32
|
0x74260003, // 00AE JMPT R9 #00B3
|
||||||
0x5C2C0C00, // 00AF MOVE R11 R6
|
0x8C24011F, // 00AF GETMET R9 R0 K31
|
||||||
0x50300000, // 00B0 LDBOOL R12 0 0
|
0x5C2C0C00, // 00B0 MOVE R11 R6
|
||||||
0x7C240600, // 00B1 CALL R9 3
|
0x50300000, // 00B1 LDBOOL R12 0 0
|
||||||
0x50240200, // 00B2 LDBOOL R9 1 0
|
0x7C240600, // 00B2 CALL R9 3
|
||||||
0xA8040001, // 00B3 EXBLK 1 1
|
0x50240200, // 00B3 LDBOOL R9 1 0
|
||||||
0x80041200, // 00B4 RET 1 R9
|
0xA8040001, // 00B4 EXBLK 1 1
|
||||||
0x700200BB, // 00B5 JMP #0172
|
0x80041200, // 00B5 RET 1 R9
|
||||||
0xB8220A00, // 00B6 GETNGBL R8 K5
|
0x700200B2, // 00B6 JMP #016A
|
||||||
0x8C201106, // 00B7 GETMET R8 R8 K6
|
0xB8220A00, // 00B7 GETNGBL R8 K5
|
||||||
0x8C28091D, // 00B8 GETMET R10 R4 K29
|
0x8C201106, // 00B8 GETMET R8 R8 K6
|
||||||
0x5830002F, // 00B9 LDCONST R12 K47
|
0x8C28091B, // 00B9 GETMET R10 R4 K27
|
||||||
0x88340D0F, // 00BA GETMBR R13 R6 K15
|
0x5830002F, // 00BA LDCONST R12 K47
|
||||||
0x88380D1C, // 00BB GETMBR R14 R6 K28
|
0x88340D0F, // 00BB GETMBR R13 R6 K15
|
||||||
0x7C280800, // 00BC CALL R10 4
|
0x88380D1A, // 00BC GETMBR R14 R6 K26
|
||||||
0x582C0015, // 00BD LDCONST R11 K21
|
0x7C280800, // 00BD CALL R10 4
|
||||||
0x7C200600, // 00BE CALL R8 3
|
0x582C001E, // 00BE LDCONST R11 K30
|
||||||
0x88200109, // 00BF GETMBR R8 R0 K9
|
0x7C200600, // 00BF CALL R8 3
|
||||||
0x8820110A, // 00C0 GETMBR R8 R8 K10
|
0x88200109, // 00C0 GETMBR R8 R0 K9
|
||||||
0x8C201130, // 00C1 GETMET R8 R8 K48
|
0x8820110A, // 00C1 GETMBR R8 R8 K10
|
||||||
0x88280D0F, // 00C2 GETMBR R10 R6 K15
|
0x8C201130, // 00C2 GETMET R8 R8 K48
|
||||||
0x7C200400, // 00C3 CALL R8 2
|
0x88280D0F, // 00C3 GETMBR R10 R6 K15
|
||||||
0x4C240000, // 00C4 LDNIL R9
|
0x7C200400, // 00C4 CALL R8 2
|
||||||
0x1C241009, // 00C5 EQ R9 R8 R9
|
0x4C240000, // 00C5 LDNIL R9
|
||||||
0x7826000A, // 00C6 JMPF R9 #00D2
|
0x1C241009, // 00C6 EQ R9 R8 R9
|
||||||
0xB8260A00, // 00C7 GETNGBL R9 K5
|
0x7826000A, // 00C7 JMPF R9 #00D3
|
||||||
0x8C241306, // 00C8 GETMET R9 R9 K6
|
0xB8260A00, // 00C8 GETNGBL R9 K5
|
||||||
0x602C0008, // 00C9 GETGBL R11 G8
|
0x8C241306, // 00C9 GETMET R9 R9 K6
|
||||||
0x88300D0F, // 00CA GETMBR R12 R6 K15
|
0x602C0008, // 00CA GETGBL R11 G8
|
||||||
0x7C2C0200, // 00CB CALL R11 1
|
0x88300D0F, // 00CB GETMBR R12 R6 K15
|
||||||
0x002E620B, // 00CC ADD R11 K49 R11
|
0x7C2C0200, // 00CC CALL R11 1
|
||||||
0x58300010, // 00CD LDCONST R12 K16
|
0x002E620B, // 00CD ADD R11 K49 R11
|
||||||
0x7C240600, // 00CE CALL R9 3
|
0x58300027, // 00CE LDCONST R12 K39
|
||||||
0x50240000, // 00CF LDBOOL R9 0 0
|
0x7C240600, // 00CF CALL R9 3
|
||||||
0xA8040001, // 00D0 EXBLK 1 1
|
0x50240000, // 00D0 LDBOOL R9 0 0
|
||||||
0x80041200, // 00D1 RET 1 R9
|
0xA8040001, // 00D1 EXBLK 1 1
|
||||||
0x780A0000, // 00D2 JMPF R2 #00D4
|
0x80041200, // 00D2 RET 1 R9
|
||||||
0x90222C02, // 00D3 SETMBR R8 K22 R2
|
0x780A0000, // 00D3 JMPF R2 #00D5
|
||||||
0x780E0000, // 00D4 JMPF R3 #00D6
|
0x90222802, // 00D4 SETMBR R8 K20 R2
|
||||||
0x90222E03, // 00D5 SETMBR R8 K23 R3
|
0x780E0000, // 00D5 JMPF R3 #00D7
|
||||||
0x90223000, // 00D6 SETMBR R8 K24 R0
|
0x90222A03, // 00D6 SETMBR R8 K21 R3
|
||||||
0x901A3208, // 00D7 SETMBR R6 K25 R8
|
0x90222C00, // 00D7 SETMBR R8 K22 R0
|
||||||
0x8C241132, // 00D8 GETMET R9 R8 K50
|
0x901A2E08, // 00D8 SETMBR R6 K23 R8
|
||||||
0x882C0D1C, // 00D9 GETMBR R11 R6 K28
|
0x8C241132, // 00D9 GETMET R9 R8 K50
|
||||||
0x50300200, // 00DA LDBOOL R12 1 0
|
0x882C0D1A, // 00DA GETMBR R11 R6 K26
|
||||||
0x7C240600, // 00DB CALL R9 3
|
0x50300200, // 00DB LDBOOL R12 1 0
|
||||||
0x74260013, // 00DC JMPT R9 #00F1
|
0x7C240600, // 00DC CALL R9 3
|
||||||
0xB8260A00, // 00DD GETNGBL R9 K5
|
0x74260013, // 00DD JMPT R9 #00F2
|
||||||
0x8C241306, // 00DE GETMET R9 R9 K6
|
0xB8260A00, // 00DE GETNGBL R9 K5
|
||||||
0x602C0008, // 00DF GETGBL R11 G8
|
0x8C241306, // 00DF GETMET R9 R9 K6
|
||||||
0x88300D1C, // 00E0 GETMBR R12 R6 K28
|
0x602C0008, // 00E0 GETGBL R11 G8
|
||||||
0x7C2C0200, // 00E1 CALL R11 1
|
0x88300D1A, // 00E1 GETMBR R12 R6 K26
|
||||||
0x002E660B, // 00E2 ADD R11 K51 R11
|
0x7C2C0200, // 00E2 CALL R11 1
|
||||||
0x002C1734, // 00E3 ADD R11 R11 K52
|
0x002E660B, // 00E3 ADD R11 K51 R11
|
||||||
0x60300008, // 00E4 GETGBL R12 G8
|
0x002C1734, // 00E4 ADD R11 R11 K52
|
||||||
0x88341135, // 00E5 GETMBR R13 R8 K53
|
0x60300008, // 00E5 GETGBL R12 G8
|
||||||
0x7C300200, // 00E6 CALL R12 1
|
0x88341135, // 00E6 GETMBR R13 R8 K53
|
||||||
0x002C160C, // 00E7 ADD R11 R11 R12
|
0x7C300200, // 00E7 CALL R12 1
|
||||||
0x58300015, // 00E8 LDCONST R12 K21
|
0x002C160C, // 00E8 ADD R11 R11 R12
|
||||||
0x7C240600, // 00E9 CALL R9 3
|
0x5830001E, // 00E9 LDCONST R12 K30
|
||||||
0x8C240136, // 00EA GETMET R9 R0 K54
|
0x7C240600, // 00EA CALL R9 3
|
||||||
0x5C2C0C00, // 00EB MOVE R11 R6
|
0x8C240136, // 00EB GETMET R9 R0 K54
|
||||||
0x50300000, // 00EC LDBOOL R12 0 0
|
0x5C2C0C00, // 00EC MOVE R11 R6
|
||||||
0x7C240600, // 00ED CALL R9 3
|
0x50300000, // 00ED LDBOOL R12 0 0
|
||||||
0x50240000, // 00EE LDBOOL R9 0 0
|
0x7C240600, // 00EE CALL R9 3
|
||||||
0xA8040001, // 00EF EXBLK 1 1
|
0x50240000, // 00EF LDBOOL R9 0 0
|
||||||
0x80041200, // 00F0 RET 1 R9
|
0xA8040001, // 00F0 EXBLK 1 1
|
||||||
0x8C240D37, // 00F1 GETMET R9 R6 K55
|
0x80041200, // 00F1 RET 1 R9
|
||||||
0x7C240200, // 00F2 CALL R9 1
|
0x8C240D37, // 00F2 GETMET R9 R6 K55
|
||||||
0x5C281200, // 00F3 MOVE R10 R9
|
0x7C240200, // 00F3 CALL R9 1
|
||||||
0x742A0002, // 00F4 JMPT R10 #00F8
|
0x5C281200, // 00F4 MOVE R10 R9
|
||||||
0x50280000, // 00F5 LDBOOL R10 0 0
|
0x742A0002, // 00F5 JMPT R10 #00F9
|
||||||
0xA8040001, // 00F6 EXBLK 1 1
|
0x50280000, // 00F6 LDBOOL R10 0 0
|
||||||
0x80041400, // 00F7 RET 1 R10
|
0xA8040001, // 00F7 EXBLK 1 1
|
||||||
0x88280D39, // 00F8 GETMBR R10 R6 K57
|
0x80041400, // 00F8 RET 1 R10
|
||||||
0x0428153A, // 00F9 SUB R10 R10 K58
|
0x88280D39, // 00F9 GETMBR R10 R6 K57
|
||||||
0x402A260A, // 00FA CONNECT R10 K19 R10
|
0x0428153A, // 00FA SUB R10 R10 K58
|
||||||
0x882C0D38, // 00FB GETMBR R11 R6 K56
|
0x402A240A, // 00FB CONNECT R10 K18 R10
|
||||||
0x9428160A, // 00FC GETIDX R10 R11 R10
|
0x882C0D38, // 00FC GETMBR R11 R6 K56
|
||||||
0x901A700A, // 00FD SETMBR R6 K56 R10
|
0x9428160A, // 00FD GETIDX R10 R11 R10
|
||||||
0x88280D38, // 00FE GETMBR R10 R6 K56
|
0x901A700A, // 00FE SETMBR R6 K56 R10
|
||||||
0x40281409, // 00FF CONNECT R10 R10 R9
|
0x88280D38, // 00FF GETMBR R10 R6 K56
|
||||||
0xB82A0A00, // 0100 GETNGBL R10 K5
|
0x40281409, // 0100 CONNECT R10 R10 R9
|
||||||
0x8C281506, // 0101 GETMET R10 R10 K6
|
0xB82A0A00, // 0101 GETNGBL R10 K5
|
||||||
0x8C30091D, // 0102 GETMET R12 R4 K29
|
0x8C281506, // 0102 GETMET R10 R10 K6
|
||||||
0x5838003B, // 0103 LDCONST R14 K59
|
0x8C30091B, // 0103 GETMET R12 R4 K27
|
||||||
0x883C0D39, // 0104 GETMBR R15 R6 K57
|
0x5838003B, // 0104 LDCONST R14 K59
|
||||||
0x88400D38, // 0105 GETMBR R16 R6 K56
|
0x883C0D39, // 0105 GETMBR R15 R6 K57
|
||||||
0x8C40213C, // 0106 GETMET R16 R16 K60
|
0x88400D38, // 0106 GETMBR R16 R6 K56
|
||||||
0x7C400200, // 0107 CALL R16 1
|
0x8C40213C, // 0107 GETMET R16 R16 K60
|
||||||
0x7C300800, // 0108 CALL R12 4
|
0x7C400200, // 0108 CALL R16 1
|
||||||
0x54360003, // 0109 LDINT R13 4
|
0x7C300800, // 0109 CALL R12 4
|
||||||
0x7C280600, // 010A CALL R10 3
|
0x54360003, // 010A LDINT R13 4
|
||||||
0x8C280D21, // 010B GETMET R10 R6 K33
|
0x7C280600, // 010B CALL R10 3
|
||||||
0x7C280200, // 010C CALL R10 1
|
0x8C280D20, // 010C GETMET R10 R6 K32
|
||||||
0xB82A0A00, // 010D GETNGBL R10 K5
|
0x7C280200, // 010D CALL R10 1
|
||||||
0x8C281506, // 010E GETMET R10 R10 K6
|
0xB82A0A00, // 010E GETNGBL R10 K5
|
||||||
0x60300008, // 010F GETGBL R12 G8
|
0x8C281506, // 010F GETMET R10 R10 K6
|
||||||
0x88340D3E, // 0110 GETMBR R13 R6 K62
|
0x60300008, // 0110 GETGBL R12 G8
|
||||||
0x7C300200, // 0111 CALL R12 1
|
0x88340D3E, // 0111 GETMBR R13 R6 K62
|
||||||
0x00327A0C, // 0112 ADD R12 K61 R12
|
0x7C300200, // 0112 CALL R12 1
|
||||||
0x0030193F, // 0113 ADD R12 R12 K63
|
0x00327A0C, // 0113 ADD R12 K61 R12
|
||||||
0x60340008, // 0114 GETGBL R13 G8
|
0x0030193F, // 0114 ADD R12 R12 K63
|
||||||
0x88380D23, // 0115 GETMBR R14 R6 K35
|
0x60340008, // 0115 GETGBL R13 G8
|
||||||
0x7C340200, // 0116 CALL R13 1
|
0x88380D22, // 0116 GETMBR R14 R6 K34
|
||||||
0x0030180D, // 0117 ADD R12 R12 R13
|
0x7C340200, // 0117 CALL R13 1
|
||||||
0x00301940, // 0118 ADD R12 R12 K64
|
0x0030180D, // 0118 ADD R12 R12 R13
|
||||||
0x60340008, // 0119 GETGBL R13 G8
|
0x00301940, // 0119 ADD R12 R12 K64
|
||||||
0x88380D27, // 011A GETMBR R14 R6 K39
|
0x60340008, // 011A GETGBL R13 G8
|
||||||
0x543EFFFE, // 011B LDINT R15 65535
|
0x88380D26, // 011B GETMBR R14 R6 K38
|
||||||
0x2C381C0F, // 011C AND R14 R14 R15
|
0x543EFFFE, // 011C LDINT R15 65535
|
||||||
0x7C340200, // 011D CALL R13 1
|
0x2C381C0F, // 011D AND R14 R14 R15
|
||||||
0x0030180D, // 011E ADD R12 R12 R13
|
0x7C340200, // 011E CALL R13 1
|
||||||
0x58340015, // 011F LDCONST R13 K21
|
0x0030180D, // 011F ADD R12 R12 R13
|
||||||
0x7C280600, // 0120 CALL R10 3
|
0x5834001E, // 0120 LDCONST R13 K30
|
||||||
0xB82A0A00, // 0121 GETNGBL R10 K5
|
0x7C280600, // 0121 CALL R10 3
|
||||||
0x8C281506, // 0122 GETMET R10 R10 K6
|
0xB82A0A00, // 0122 GETNGBL R10 K5
|
||||||
0x8C30091D, // 0123 GETMET R12 R4 K29
|
0x8C281506, // 0123 GETMET R10 R10 K6
|
||||||
0x58380041, // 0124 LDCONST R14 K65
|
0x8C30091B, // 0124 GETMET R12 R4 K27
|
||||||
0x883C110F, // 0125 GETMBR R15 R8 K15
|
0x58380041, // 0125 LDCONST R14 K65
|
||||||
0x88400D3E, // 0126 GETMBR R16 R6 K62
|
0x883C110F, // 0126 GETMBR R15 R8 K15
|
||||||
0x88440D23, // 0127 GETMBR R17 R6 K35
|
0x88400D3E, // 0127 GETMBR R16 R6 K62
|
||||||
0x88480D1C, // 0128 GETMBR R18 R6 K28
|
0x88440D22, // 0128 GETMBR R17 R6 K34
|
||||||
0x884C0D27, // 0129 GETMBR R19 R6 K39
|
0x88480D1A, // 0129 GETMBR R18 R6 K26
|
||||||
0x60500008, // 012A GETGBL R20 G8
|
0x884C0D26, // 012A GETMBR R19 R6 K38
|
||||||
0x88540D2C, // 012B GETMBR R21 R6 K44
|
0x60500008, // 012B GETGBL R20 G8
|
||||||
0x7C500200, // 012C CALL R20 1
|
0x88540D2C, // 012C GETMBR R21 R6 K44
|
||||||
0x88540D29, // 012D GETMBR R21 R6 K41
|
0x7C500200, // 012D CALL R20 1
|
||||||
0x78560001, // 012E JMPF R21 #0131
|
0x88540D29, // 012E GETMBR R21 R6 K41
|
||||||
0x5854002A, // 012F LDCONST R21 K42
|
0x78560001, // 012F JMPF R21 #0132
|
||||||
0x70020000, // 0130 JMP #0132
|
0x5854002A, // 0130 LDCONST R21 K42
|
||||||
0x5854002B, // 0131 LDCONST R21 K43
|
0x70020000, // 0131 JMP #0133
|
||||||
0x5C580400, // 0132 MOVE R22 R2
|
0x5854002B, // 0132 LDCONST R21 K43
|
||||||
0x5C5C0600, // 0133 MOVE R23 R3
|
0x5C580400, // 0133 MOVE R22 R2
|
||||||
0x7C301600, // 0134 CALL R12 11
|
0x5C5C0600, // 0134 MOVE R23 R3
|
||||||
0x58340015, // 0135 LDCONST R13 K21
|
0x7C301600, // 0135 CALL R12 11
|
||||||
0x7C280600, // 0136 CALL R10 3
|
0x5834001E, // 0136 LDCONST R13 K30
|
||||||
0x88280109, // 0137 GETMBR R10 R0 K9
|
0x7C280600, // 0137 CALL R10 3
|
||||||
0x8C281522, // 0138 GETMET R10 R10 K34
|
0x88280109, // 0138 GETMBR R10 R0 K9
|
||||||
0x5C300C00, // 0139 MOVE R12 R6
|
0x8C281521, // 0139 GETMET R10 R10 K33
|
||||||
0x7C280400, // 013A CALL R10 2
|
0x5C300C00, // 013A MOVE R12 R6
|
||||||
0x88280D3E, // 013B GETMBR R10 R6 K62
|
0x7C280400, // 013B CALL R10 2
|
||||||
0x1C2C1513, // 013C EQ R11 R10 K19
|
0x88280D3E, // 013C GETMBR R10 R6 K62
|
||||||
0x782E0018, // 013D JMPF R11 #0157
|
0x1C2C1512, // 013D EQ R11 R10 K18
|
||||||
0xB82E0A00, // 013E GETNGBL R11 K5
|
0x782E000F, // 013E JMPF R11 #014F
|
||||||
0x8C2C1706, // 013F GETMET R11 R11 K6
|
0x882C0D22, // 013F GETMBR R11 R6 K34
|
||||||
0xB8360200, // 0140 GETNGBL R13 K1
|
0x5432000F, // 0140 LDINT R12 16
|
||||||
0x8C341B08, // 0141 GETMET R13 R13 K8
|
0x1C2C160C, // 0141 EQ R11 R11 R12
|
||||||
0x5C3C0C00, // 0142 MOVE R15 R6
|
0x782E0009, // 0142 JMPF R11 #014D
|
||||||
0x7C340400, // 0143 CALL R13 2
|
0x882C0142, // 0143 GETMBR R11 R0 K66
|
||||||
0x0036840D, // 0144 ADD R13 K66 R13
|
0x8C2C1743, // 0144 GETMET R11 R11 K67
|
||||||
0x58380015, // 0145 LDCONST R14 K21
|
0x5C340C00, // 0145 MOVE R13 R6
|
||||||
0x7C2C0600, // 0146 CALL R11 3
|
0x7C2C0400, // 0146 CALL R11 2
|
||||||
0x882C0D23, // 0147 GETMBR R11 R6 K35
|
0x5C141600, // 0147 MOVE R5 R11
|
||||||
0x5432000F, // 0148 LDINT R12 16
|
0x78160003, // 0148 JMPF R5 #014D
|
||||||
0x1C2C160C, // 0149 EQ R11 R11 R12
|
0x882C0142, // 0149 GETMBR R11 R0 K66
|
||||||
0x782E0009, // 014A JMPF R11 #0155
|
0x8C2C1744, // 014A GETMET R11 R11 K68
|
||||||
0x882C0143, // 014B GETMBR R11 R0 K67
|
0x5C340000, // 014B MOVE R13 R0
|
||||||
0x8C2C1744, // 014C GETMET R11 R11 K68
|
0x7C2C0400, // 014C CALL R11 2
|
||||||
0x5C340C00, // 014D MOVE R13 R6
|
0x50140200, // 014D LDBOOL R5 1 0
|
||||||
0x7C2C0400, // 014E CALL R11 2
|
0x7002001A, // 014E JMP #016A
|
||||||
0x5C141600, // 014F MOVE R5 R11
|
0x1C2C153A, // 014F EQ R11 R10 K58
|
||||||
0x78160003, // 0150 JMPF R5 #0155
|
0x782E0010, // 0150 JMPF R11 #0162
|
||||||
0x882C0143, // 0151 GETMBR R11 R0 K67
|
0x882C0142, // 0151 GETMBR R11 R0 K66
|
||||||
0x8C2C1745, // 0152 GETMET R11 R11 K69
|
0x8C2C172E, // 0152 GETMET R11 R11 K46
|
||||||
0x5C340000, // 0153 MOVE R13 R0
|
0x5C340C00, // 0153 MOVE R13 R6
|
||||||
0x7C2C0400, // 0154 CALL R11 2
|
0x7C2C0400, // 0154 CALL R11 2
|
||||||
0x50140200, // 0155 LDBOOL R5 1 0
|
0x5C141600, // 0155 MOVE R5 R11
|
||||||
0x7002001A, // 0156 JMP #0172
|
0x78160004, // 0156 JMPF R5 #015C
|
||||||
0x1C2C153A, // 0157 EQ R11 R10 K58
|
0x882C0142, // 0157 GETMBR R11 R0 K66
|
||||||
0x782E0010, // 0158 JMPF R11 #016A
|
0x8C2C1744, // 0158 GETMET R11 R11 K68
|
||||||
0x882C0143, // 0159 GETMBR R11 R0 K67
|
0x5C340000, // 0159 MOVE R13 R0
|
||||||
0x8C2C172E, // 015A GETMET R11 R11 K46
|
0x7C2C0400, // 015A CALL R11 2
|
||||||
0x5C340C00, // 015B MOVE R13 R6
|
0x70020003, // 015B JMP #0160
|
||||||
0x7C2C0400, // 015C CALL R11 2
|
0x8C2C0136, // 015C GETMET R11 R0 K54
|
||||||
0x5C141600, // 015D MOVE R5 R11
|
0x5C340C00, // 015D MOVE R13 R6
|
||||||
0x78160004, // 015E JMPF R5 #0164
|
0x50380200, // 015E LDBOOL R14 1 0
|
||||||
0x882C0143, // 015F GETMBR R11 R0 K67
|
0x7C2C0600, // 015F CALL R11 3
|
||||||
0x8C2C1745, // 0160 GETMET R11 R11 K69
|
0x50140200, // 0160 LDBOOL R5 1 0
|
||||||
0x5C340000, // 0161 MOVE R13 R0
|
0x70020007, // 0161 JMP #016A
|
||||||
0x7C2C0400, // 0162 CALL R11 2
|
0xB82E0A00, // 0162 GETNGBL R11 K5
|
||||||
0x70020003, // 0163 JMP #0168
|
0x8C2C1706, // 0163 GETMET R11 R11 K6
|
||||||
0x8C2C0136, // 0164 GETMET R11 R0 K54
|
0x60340008, // 0164 GETGBL R13 G8
|
||||||
0x5C340C00, // 0165 MOVE R13 R6
|
0x5C381400, // 0165 MOVE R14 R10
|
||||||
0x50380200, // 0166 LDBOOL R14 1 0
|
0x7C340200, // 0166 CALL R13 1
|
||||||
0x7C2C0600, // 0167 CALL R11 3
|
0x00368A0D, // 0167 ADD R13 K69 R13
|
||||||
0x50140200, // 0168 LDBOOL R5 1 0
|
0x5838001E, // 0168 LDCONST R14 K30
|
||||||
0x70020007, // 0169 JMP #0172
|
0x7C2C0600, // 0169 CALL R11 3
|
||||||
0xB82E0A00, // 016A GETNGBL R11 K5
|
0xA8040001, // 016A EXBLK 1 1
|
||||||
0x8C2C1706, // 016B GETMET R11 R11 K6
|
0x80040A00, // 016B RET 1 R5
|
||||||
0x60340008, // 016C GETGBL R13 G8
|
0xA8040001, // 016C EXBLK 1 1
|
||||||
0x5C381400, // 016D MOVE R14 R10
|
0x70020014, // 016D JMP #0183
|
||||||
0x7C340200, // 016E CALL R13 1
|
0xAC180002, // 016E CATCH R6 0 2
|
||||||
0x00368C0D, // 016F ADD R13 K70 R13
|
0x70020011, // 016F JMP #0182
|
||||||
0x58380015, // 0170 LDCONST R14 K21
|
0xB8220A00, // 0170 GETNGBL R8 K5
|
||||||
0x7C2C0600, // 0171 CALL R11 3
|
0x8C201106, // 0171 GETMET R8 R8 K6
|
||||||
0xA8040001, // 0172 EXBLK 1 1
|
0x60280008, // 0172 GETGBL R10 G8
|
||||||
0x80040A00, // 0173 RET 1 R5
|
0x5C2C0C00, // 0173 MOVE R11 R6
|
||||||
0xA8040001, // 0174 EXBLK 1 1
|
0x7C280200, // 0174 CALL R10 1
|
||||||
0x70020014, // 0175 JMP #018B
|
0x002A8C0A, // 0175 ADD R10 K70 R10
|
||||||
0xAC180002, // 0176 CATCH R6 0 2
|
0x00281547, // 0176 ADD R10 R10 K71
|
||||||
0x70020011, // 0177 JMP #018A
|
0x602C0008, // 0177 GETGBL R11 G8
|
||||||
0xB8220A00, // 0178 GETNGBL R8 K5
|
0x5C300E00, // 0178 MOVE R12 R7
|
||||||
0x8C201106, // 0179 GETMET R8 R8 K6
|
0x7C2C0200, // 0179 CALL R11 1
|
||||||
0x60280008, // 017A GETGBL R10 G8
|
0x0028140B, // 017A ADD R10 R10 R11
|
||||||
0x5C2C0C00, // 017B MOVE R11 R6
|
0x7C200400, // 017B CALL R8 2
|
||||||
0x7C280200, // 017C CALL R10 1
|
0xA4229000, // 017C IMPORT R8 K72
|
||||||
0x002A8E0A, // 017D ADD R10 K71 R10
|
0x8C241149, // 017D GETMET R9 R8 K73
|
||||||
0x00281548, // 017E ADD R10 R10 K72
|
0x7C240200, // 017E CALL R9 1
|
||||||
0x602C0008, // 017F GETGBL R11 G8
|
0x50240000, // 017F LDBOOL R9 0 0
|
||||||
0x5C300E00, // 0180 MOVE R12 R7
|
0x80041200, // 0180 RET 1 R9
|
||||||
0x7C2C0200, // 0181 CALL R11 1
|
0x70020000, // 0181 JMP #0183
|
||||||
0x0028140B, // 0182 ADD R10 R10 R11
|
0xB0080000, // 0182 RAISE 2 R0 R0
|
||||||
0x7C200400, // 0183 CALL R8 2
|
0x80000000, // 0183 RET 0
|
||||||
0xA4229200, // 0184 IMPORT R8 K73
|
|
||||||
0x8C24114A, // 0185 GETMET R9 R8 K74
|
|
||||||
0x7C240200, // 0186 CALL R9 1
|
|
||||||
0x50240000, // 0187 LDBOOL R9 0 0
|
|
||||||
0x80041200, // 0188 RET 1 R9
|
|
||||||
0x70020000, // 0189 JMP #018B
|
|
||||||
0xB0080000, // 018A RAISE 2 R0 R0
|
|
||||||
0x80000000, // 018B RET 0
|
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
@ -124,7 +124,7 @@ be_local_closure(Matter_Session_Store_find_session_by_resumption_id, /* name *
|
|||||||
0, /* has sup protos */
|
0, /* has sup protos */
|
||||||
NULL, /* no sub protos */
|
NULL, /* no sub protos */
|
||||||
1, /* has constants */
|
1, /* has constants */
|
||||||
( &(const bvalue[12]) { /* constants */
|
( &(const bvalue[13]) { /* constants */
|
||||||
/* K0 */ be_nested_str_weak(string),
|
/* K0 */ be_nested_str_weak(string),
|
||||||
/* K1 */ be_const_int(0),
|
/* K1 */ be_const_int(0),
|
||||||
/* K2 */ be_nested_str_weak(sessions),
|
/* K2 */ be_nested_str_weak(sessions),
|
||||||
@ -133,14 +133,15 @@ be_local_closure(Matter_Session_Store_find_session_by_resumption_id, /* name *
|
|||||||
/* K5 */ be_nested_str_weak(format),
|
/* K5 */ be_nested_str_weak(format),
|
||||||
/* K6 */ be_nested_str_weak(MTR_X3A_X20session_X2Eresumption_id_X3D_X25s_X20vs_X20_X25s),
|
/* K6 */ be_nested_str_weak(MTR_X3A_X20session_X2Eresumption_id_X3D_X25s_X20vs_X20_X25s),
|
||||||
/* K7 */ be_nested_str_weak(resumption_id),
|
/* K7 */ be_nested_str_weak(resumption_id),
|
||||||
/* K8 */ be_nested_str_weak(shared_secret),
|
/* K8 */ be_const_int(3),
|
||||||
/* K9 */ be_nested_str_weak(MTR_X3A_X20session_X2Eshared_secret_X3D_X25s),
|
/* K9 */ be_nested_str_weak(shared_secret),
|
||||||
/* K10 */ be_nested_str_weak(update),
|
/* K10 */ be_nested_str_weak(MTR_X3A_X20session_X2Eshared_secret_X3D_X25s),
|
||||||
/* K11 */ be_const_int(1),
|
/* K11 */ be_nested_str_weak(update),
|
||||||
|
/* K12 */ be_const_int(1),
|
||||||
}),
|
}),
|
||||||
be_str_weak(find_session_by_resumption_id),
|
be_str_weak(find_session_by_resumption_id),
|
||||||
&be_const_str_solidified,
|
&be_const_str_solidified,
|
||||||
( &(const binstruction[47]) { /* code */
|
( &(const binstruction[49]) { /* code */
|
||||||
0xA40A0000, // 0000 IMPORT R2 K0
|
0xA40A0000, // 0000 IMPORT R2 K0
|
||||||
0x5C0C0200, // 0001 MOVE R3 R1
|
0x5C0C0200, // 0001 MOVE R3 R1
|
||||||
0x740E0001, // 0002 JMPT R3 #0005
|
0x740E0001, // 0002 JMPT R3 #0005
|
||||||
@ -152,7 +153,7 @@ be_local_closure(Matter_Session_Store_find_session_by_resumption_id, /* name *
|
|||||||
0x5C180800, // 0008 MOVE R6 R4
|
0x5C180800, // 0008 MOVE R6 R4
|
||||||
0x7C140200, // 0009 CALL R5 1
|
0x7C140200, // 0009 CALL R5 1
|
||||||
0x14140605, // 000A LT R5 R3 R5
|
0x14140605, // 000A LT R5 R3 R5
|
||||||
0x78160021, // 000B JMPF R5 #002E
|
0x78160023, // 000B JMPF R5 #0030
|
||||||
0x94140803, // 000C GETIDX R5 R4 R3
|
0x94140803, // 000C GETIDX R5 R4 R3
|
||||||
0xB81A0600, // 000D GETNGBL R6 K3
|
0xB81A0600, // 000D GETNGBL R6 K3
|
||||||
0x8C180D04, // 000E GETMET R6 R6 K4
|
0x8C180D04, // 000E GETMET R6 R6 K4
|
||||||
@ -165,29 +166,31 @@ be_local_closure(Matter_Session_Store_find_session_by_resumption_id, /* name *
|
|||||||
0x5C340200, // 0015 MOVE R13 R1
|
0x5C340200, // 0015 MOVE R13 R1
|
||||||
0x7C300200, // 0016 CALL R12 1
|
0x7C300200, // 0016 CALL R12 1
|
||||||
0x7C200800, // 0017 CALL R8 4
|
0x7C200800, // 0017 CALL R8 4
|
||||||
0x7C180400, // 0018 CALL R6 2
|
0x58240008, // 0018 LDCONST R9 K8
|
||||||
0x88180B07, // 0019 GETMBR R6 R5 K7
|
0x7C180600, // 0019 CALL R6 3
|
||||||
0x1C180C01, // 001A EQ R6 R6 R1
|
0x88180B07, // 001A GETMBR R6 R5 K7
|
||||||
0x781A000F, // 001B JMPF R6 #002C
|
0x1C180C01, // 001B EQ R6 R6 R1
|
||||||
0x88180B08, // 001C GETMBR R6 R5 K8
|
0x781A0010, // 001C JMPF R6 #002E
|
||||||
0x4C1C0000, // 001D LDNIL R7
|
0x88180B09, // 001D GETMBR R6 R5 K9
|
||||||
0x20180C07, // 001E NE R6 R6 R7
|
0x4C1C0000, // 001E LDNIL R7
|
||||||
0x781A000B, // 001F JMPF R6 #002C
|
0x20180C07, // 001F NE R6 R6 R7
|
||||||
0xB81A0600, // 0020 GETNGBL R6 K3
|
0x781A000C, // 0020 JMPF R6 #002E
|
||||||
0x8C180D04, // 0021 GETMET R6 R6 K4
|
0xB81A0600, // 0021 GETNGBL R6 K3
|
||||||
0x8C200505, // 0022 GETMET R8 R2 K5
|
0x8C180D04, // 0022 GETMET R6 R6 K4
|
||||||
0x58280009, // 0023 LDCONST R10 K9
|
0x8C200505, // 0023 GETMET R8 R2 K5
|
||||||
0x602C0008, // 0024 GETGBL R11 G8
|
0x5828000A, // 0024 LDCONST R10 K10
|
||||||
0x88300B08, // 0025 GETMBR R12 R5 K8
|
0x602C0008, // 0025 GETGBL R11 G8
|
||||||
0x7C2C0200, // 0026 CALL R11 1
|
0x88300B09, // 0026 GETMBR R12 R5 K9
|
||||||
0x7C200600, // 0027 CALL R8 3
|
0x7C2C0200, // 0027 CALL R11 1
|
||||||
0x7C180400, // 0028 CALL R6 2
|
0x7C200600, // 0028 CALL R8 3
|
||||||
0x8C180B0A, // 0029 GETMET R6 R5 K10
|
0x58240008, // 0029 LDCONST R9 K8
|
||||||
0x7C180200, // 002A CALL R6 1
|
0x7C180600, // 002A CALL R6 3
|
||||||
0x80040A00, // 002B RET 1 R5
|
0x8C180B0B, // 002B GETMET R6 R5 K11
|
||||||
0x000C070B, // 002C ADD R3 R3 K11
|
0x7C180200, // 002C CALL R6 1
|
||||||
0x7001FFD8, // 002D JMP #0007
|
0x80040A00, // 002D RET 1 R5
|
||||||
0x80000000, // 002E RET 0
|
0x000C070C, // 002E ADD R3 R3 K12
|
||||||
|
0x7001FFD6, // 002F JMP #0007
|
||||||
|
0x80000000, // 0030 RET 0
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
@ -223,6 +223,10 @@ void sayTime(int hour, int minutes);
|
|||||||
void Cmd_MicRec(void);
|
void Cmd_MicRec(void);
|
||||||
void Cmd_wav2mp3(void);
|
void Cmd_wav2mp3(void);
|
||||||
void Cmd_Time(void);
|
void Cmd_Time(void);
|
||||||
|
#ifdef USE_I2S_RTTTL
|
||||||
|
void Rtttl(char *buffer);
|
||||||
|
void Cmd_I2SRtttl(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
void copy_micpars(uint32_t port) {
|
void copy_micpars(uint32_t port) {
|
||||||
audio_i2s.mic_mclk = audio_i2s.mclk;
|
audio_i2s.mic_mclk = audio_i2s.mclk;
|
||||||
@ -606,6 +610,9 @@ const char kI2SAudio_Commands[] PROGMEM = "I2S|"
|
|||||||
#ifdef USE_I2S_SAY_TIME
|
#ifdef USE_I2S_SAY_TIME
|
||||||
"|Time"
|
"|Time"
|
||||||
#endif // USE_I2S_SAY_TIME
|
#endif // USE_I2S_SAY_TIME
|
||||||
|
#ifdef USE_I2S_RTTTL
|
||||||
|
"|Rtttl"
|
||||||
|
#endif
|
||||||
#ifdef ESP32
|
#ifdef ESP32
|
||||||
"|Play"
|
"|Play"
|
||||||
#ifdef USE_I2S_WEBRADIO
|
#ifdef USE_I2S_WEBRADIO
|
||||||
@ -629,6 +636,9 @@ void (* const I2SAudio_Command[])(void) PROGMEM = {
|
|||||||
#ifdef USE_I2S_SAY_TIME
|
#ifdef USE_I2S_SAY_TIME
|
||||||
,&Cmd_Time
|
,&Cmd_Time
|
||||||
#endif // USE_I2S_SAY_TIME
|
#endif // USE_I2S_SAY_TIME
|
||||||
|
#ifdef USE_I2S_RTTTL
|
||||||
|
,&Cmd_I2SRtttl
|
||||||
|
#endif
|
||||||
#ifdef ESP32
|
#ifdef ESP32
|
||||||
,&Cmd_Play
|
,&Cmd_Play
|
||||||
#ifdef USE_I2S_WEBRADIO
|
#ifdef USE_I2S_WEBRADIO
|
||||||
@ -671,6 +681,15 @@ void Cmd_Say(void) {
|
|||||||
ResponseCmndChar(XdrvMailbox.data);
|
ResponseCmndChar(XdrvMailbox.data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef USE_I2S_RTTTL
|
||||||
|
void Cmd_I2SRtttl(void) {
|
||||||
|
if (XdrvMailbox.data_len > 0) {
|
||||||
|
Rtttl(XdrvMailbox.data);
|
||||||
|
}
|
||||||
|
ResponseCmndChar(XdrvMailbox.data);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/*********************************************************************************************\
|
/*********************************************************************************************\
|
||||||
* Interface
|
* Interface
|
||||||
\*********************************************************************************************/
|
\*********************************************************************************************/
|
||||||
|
54
tasmota/tasmota_xdrv_driver/xdrv_42_6_i2s_rtttl.ino
Normal file
54
tasmota/tasmota_xdrv_driver/xdrv_42_6_i2s_rtttl.ino
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
|
||||||
|
/*
|
||||||
|
audio is2 RTTTL
|
||||||
|
|
||||||
|
Copyright (C) 2023 Fernando Pena López
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#if (defined(USE_I2S_AUDIO) || defined(USE_TTGO_WATCH) || defined(USE_M5STACK_CORE2) || defined(ESP32S3_BOX))
|
||||||
|
#ifdef USE_I2S_RTTTL
|
||||||
|
#include "AudioFileSourcePROGMEM.h"
|
||||||
|
#include "AudioGeneratorRTTTL.h"
|
||||||
|
|
||||||
|
void Rtttl(char *buffer);
|
||||||
|
|
||||||
|
void Rtttl(char *buffer) {
|
||||||
|
|
||||||
|
if (!audio_i2s.out) return;
|
||||||
|
|
||||||
|
AudioGeneratorRTTTL *rtttl;
|
||||||
|
AudioFileSourcePROGMEM *file = NULL;
|
||||||
|
|
||||||
|
file = new AudioFileSourcePROGMEM(buffer, strlen(buffer));
|
||||||
|
rtttl = new AudioGeneratorRTTTL();
|
||||||
|
|
||||||
|
AUDIO_PWR_ON
|
||||||
|
rtttl->begin(file, audio_i2s.out);
|
||||||
|
|
||||||
|
while(rtttl->isRunning()) {
|
||||||
|
if (!rtttl->loop()) {
|
||||||
|
rtttl->stop();
|
||||||
|
} else {
|
||||||
|
delay(1); // Keep the dog happy
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
audio_i2s.out->stop();
|
||||||
|
AUDIO_PWR_OFF
|
||||||
|
delete rtttl;
|
||||||
|
delete file;
|
||||||
|
}
|
||||||
|
#endif // USE_I2S_RTTTL
|
||||||
|
#endif // is2audio
|
Loading…
x
Reference in New Issue
Block a user