PageSourceSearch

https://elfo-fw-upgrade.netlify.app/_next/static/chunks/142.d0ffc2687214d59c.js

js elfo-fw-upgrade.netlify.app collected 2026-10-03 10:41:41 UTC 7,041 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[142,354],{5142:(E,_,t)=>{t.d(_,{ESP32P4ROM:()=>s});var S=t(7354);class s extends S.ESP32ROM{constructor(){super(...arguments),this.CHIP_NAME="ESP32-P4",this.IMAGE_CHIP_ID=18,this.IROM_MAP_START=0x40000000,this.IROM_MAP_END=0x4c000000,this.DROM_MAP_START=0x40000000,this.DROM_MAP_END=0x4c000000,this.BOOTLOADER_FLASH_OFFSET=8192,this.CHIP_DETECT_MAGIC_VALUE=[0,0xaddbad0],this.UART_DATE_REG_ADDR=0x500ca08c,this.EFUSE_BASE=0x5012d000,this.EFUSE_BLOCK1_ADDR=this.EFUSE_BASE+68,this.MAC_EFUSE_REG=this.EFUSE_BASE+68,this.SPI_REG_BASE=0x5008d000,this.SPI_USR_OFFS=24,this.SPI_USR1_OFFS=28,this.SPI_USR2_OFFS=32,this.SPI_MOSI_DLEN_OFFS=36,this.SPI_MISO_DLEN_OFFS=40,this.SPI_W0_OFFS=88,this.EFUSE_RD_REG_BASE=this.EFUSE_BASE+48,this.EFUSE_PURPOSE_KEY0_REG=this.EFUSE_BASE+52,this.EFUSE_PURPOSE_KEY0_SHIFT=24,this.EFUSE_PURPOSE_KEY1_REG=this.EFUSE_BASE+52,this.EFUSE_PURPOSE_KEY1_SHIFT=28,this.EFUSE_PURPOSE_KEY2_REG=this.EFUSE_BASE+56,this.EFUSE_PURPOSE_KEY2_SHIFT=0,this.EFUSE_PURPOSE_KEY3_REG=this.EFUSE_BASE+56,this.EFUSE_PURPOSE_KEY3_SHIFT=4,this.EFUSE_PURPOSE_KEY4_REG=this.EFUSE_BASE+56,this.EFUSE_PURPOSE_KEY4_SHIFT=8,this.EFUSE_PURPOSE_KEY5_REG=this.EFUSE_BASE+56,this.EFUSE_PURPOSE_KEY5_SHIFT=12,this.EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT_REG=this.EFUSE_RD_REG_BASE,this.EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT=1048576,this.EFUSE_SPI_BOOT_CRYPT_CNT_REG=this.EFUSE_BASE+52,this.EFUSE_SPI_BOOT_CRYPT_CNT_MASK=1835008,this.EFUSE_SECURE_BOOT_EN_REG=this.EFUSE_BASE+56,this.EFUSE_SECURE_BOOT_EN_MASK=1048576,this.PURPOSE_VAL_XTS_AES256_KEY_1=2,this.PURPOSE_VAL_XTS_AES256_KEY_2=3,this.PURPOSE_VAL_XTS_AES128_KEY=4,this.SUPPORTS_ENCRYPTED_FLASH=!0,this.FLASH_ENCRYPTED_WRITE_ALIGN=16,this.MEMORY_MAP=[[0,65536,"PADDING"],[0x40000000,0x4c000000,"DROM"],[0x4ff00000,0x4ffa0000,"DRAM"],[0x4ff00000,0x4ffa0000,"BYTE_ACCESSIBLE"],[0x4fc00000,0x4fc20000,"DROM_MASK"],[0x4fc00000,0x4fc20000,"IROM_MASK"],[0x40000000,0x4c000000,"IROM"],[0x4ff00000,0x4ffa0000,"IRAM"],[0x50108000,0x50110000,"RTC_IRAM"],[0x50108000,0x50110000,"RTC_DRAM"],[0x600fe000,0x60100000,"MEM_INTERNAL2"]],this.UF2_FAMILY_ID=0x3d308e94,this.EFUSE_MAX_KEY=5,this.KEY_PURPOSES={0:"USER/EMPTY",1:"ECDSA_KEY",2:"XTS_AES_256_KEY_1",3:"XTS_AES_256_KEY_2",4:"XTS_AES_128_KEY",5:"HMAC_DOWN_ALL",6:"HMAC_DOWN_JTAG",7:"HMAC_DOWN_DIGITAL_SIGNATURE",8:"HMAC_UP",9:"SECURE_BOOT_DIGEST0",10:"SECURE_BOOT_DIGEST1",11:"SECURE_BOOT_DIGEST2",12:"KM_INIT_KEY"}}async getPkgVersion(E){let _=this.EFUSE_BLOCK1_ADDR+8;return await E.readReg(_)>>27&7}async getMinorChipVersion(E){let _=this.EFUSE_BLOCK1_ADDR+8;return await E.readReg(_)>>0&15}async getMajorChipVersion(E){let _=this.EFUSE_BLOCK1_ADDR+8;return await E.readReg(_)>>4&3}async getChipDescription(E){let _=await this.getPkgVersion(E),t=await this.getMajorChipVersion(E),S=await this.getMinorChipVersion(E);return`${0===_?"ESP32-P4":"unknown ESP32-P4"} (revision v${t}.${S})`}async getChipFeatures(E){return["High-Performance MCU"]}async getCrystalFreq(E){return 40}async getFlashVoltage(E){}async overrideVddsdio(E){E.debug("VDD_SDIO overrides are not supported for ESP32-P4")}async readMac(E){let _=await E.readReg(this.MAC_EFUSE_REG);_>>>=0;let t=await E.readReg(this.MAC_EFUSE_REG+4);t=t>>>0&65535;let S=new Uint8Array(6);return S[0]=t>>8&255,S[1]=255&t,S[2]=_>>24&255,S[3]=_>>16&255,S[4]=_>>8&255,S[5]=255&_,this._d2h(S[0])+":"+this._d2h(S[1])+":"+this._d2h(S[2])+":"+this._d2h(S[3])+":"+this._d2h(S[4])+":"+this._d2h(S[5])}async getFlashCryptConfig(E){}async getSecureBootEnabled(E){return await E.readReg(this.EFUSE_SECURE_BOOT_EN_REG)&this.EFUSE_SECURE_BOOT_EN_MASK}async getKeyBlockPurpose(E,_){if(_<0||_>this.EFUSE_MAX_KEY){E.debug(`Valid key block numbers must be in range 0-${this.EFUSE_MAX_KEY}`);return}let[t,S]=[[this.EFUSE_PURPOSE_KEY0_REG,this.EFUSE_PURPOSE_KEY0_SHIFT],[this.EFUSE_PURPOSE_KEY1_REG,this.EFUSE_PURPOSE_KEY1_SHIFT],[this.EFUSE_PURPOSE_KEY2_REG,this.EFUSE_PURPOSE_KEY2_SHIFT],[this.EFUSE_PURPOSE_KEY3_REG,this.EFUSE_PURPOSE_KEY3_SHIFT],[this.EFUSE_PURPOSE_KEY4_REG,this.EFUSE_PURPOSE_KEY4_SHIFT],[this.EFUSE_PURPOSE_KEY5_REG,this.EFUSE_PURPOSE_KEY5_SHIFT]][_];return await E.readReg(t)>>S&15}async isFlashEncryptionKeyValid(E){let _=[];for(let t=0;t<=this.EFUSE_MAX_KEY;t++){let S=await this.getKeyBlockPurpose(E,t);_.push(S)}return _.find(E=>E===this.PURPOSE_VAL_XTS_AES128_KEY),!0}}},5521:(E,_,t)=>{t.d(_,{n:()=>S});class S{getEraseSize(E,_){return _}}},7354:(E,_,t)=>{t.d(_,{ESP32ROM:()=>s});var S=t(5521);class s extends S.n{constructor(){super(...arguments),this.CHIP_NAME="ESP32",this.IMAGE_CHIP_ID=0,this.EFUSE_RD_REG_BASE=0x3ff5a000,this.DR_REG_SYSCON_BASE=0x3ff66000,this.UART_CLKDIV_REG=0x3ff40014,this.UART_CLKDIV_MASK=1048575,this.UART_DATE_REG_ADDR=0x60000078,this.XTAL_CLK_DIVIDER=1,this.FLASH_SIZES={"1MB":0,"2MB":16,"4MB":32,"8MB":48,"16MB":64},this.FLASH_WRITE_SIZE=1024,this.BOOTLOADER_FLASH_OFFSET=4096,this.SPI_REG_BASE=0x3ff42000,this.SPI_USR_OFFS=28,this.SPI_USR1_OFFS=32,this.SPI_USR2_OFFS=36,this.SPI_W0_OFFS=128,this.SPI_MOSI_DLEN_OFFS=40,this.SPI_MISO_DLEN_OFFS=44}async readEfuse(E,_){let t=this.EFUSE_RD_REG_BASE+4*_;return E.debug("Read efuse "+t),await E.readReg(t)}async getPkgVersion(E){let _=await this.readEfuse(E,3),t=_>>9&7;return t+((_>>
12&1)<<3)}async getChipRevision(E){let _=await this.readEfuse(E,3),t=await this.readEfuse(E,5),S=await E.readReg(this.DR_REG_SYSCON_BASE+124);return 0!=(_>>15&1)?0==(t>>20&1)?1:0!=(S>>31&1)?3:2:0}async getChipDescription(E){let _=["ESP32-D0WDQ6","ESP32-D0WD","ESP32-D2WD","","ESP32-U4WDH","ESP32-PICO-D4","ESP32-PICO-V3-02"],t="",S=await this.getPkgVersion(E),s=await this.getChipRevision(E),i=3==s;return 0!=(await this.readEfuse(E,3)&1)&&(_[0]="ESP32-S0WDQ6",_[1]="ESP32-S0WD"),i&&(_[5]="ESP32-PICO-V3"),t=S>=0&&S<=6?_[S]:"Unknown ESP32",i&&(0===S||1===S)&&(t+="-V3"),t+" (revision "+s+")"}async getChipFeatures(E){let _=["Wi-Fi"],t=await this.readEfuse(E,3);0==(2&t)&&_.push(" BT"),0!=(1&t)?_.push(" Single Core"):_.push(" Dual Core"),0!=(8192&t)&&(0!=(4096&t)?_.push(" 160MHz"):_.push(" 240MHz"));let S=await this.getPkgVersion(E);return -1!==[2,4,5,6].indexOf(S)&&_.push(" Embedded Flash"),6===S&&_.push(" Embedded PSRAM"),0!=(await this.readEfuse(E,4)>>8&31)&&_.push(" VRef calibration in efuse"),0!=(t>>14&1)&&_.push(" BLK3 partially reserved"),_.push(" Coding Scheme "+["None","3/4","Repeat (UNSUPPORTED)","Invalid"][3&await this.readEfuse(E,6)]),_}async getCrystalFreq(E){let _;let t=await E.readReg(this.UART_CLKDIV_REG)&this.UART_CLKDIV_MASK,S=E.transport.baudrate*t/1e6/this.XTAL_CLK_DIVIDER;return Math.abs((_=S>33?40:26)-S)>1&&E.info("WARNING: Unsupported crystal in use"),_}_d2h(E){let _=(+E).toString(16);return 1===_.length?"0"+_:_}async readMac(E){let _=await this.readEfuse(E,1);_>>>=0;let t=await this.readEfuse(E,2);t>>>=0;let S=new Uint8Array(6);return S[0]=t>>8&255,S[1]=255&t,S[2]=_>>24&255,S[3]=_>>16&255,S[4]=_>>8&255,S[5]=255&_,this._d2h(S[0])+":"+this._d2h(S[1])+":"+this._d2h(S[2])+":"+this._d2h(S[3])+":"+this._d2h(S[4])+":"+this._d2h(S[5])}}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.