PageSourceSearch

https://elfo-fw-upgrade.netlify.app/_next/static/chunks/359.313162362d0b75f8.js

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

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[359],{5521:(_,E,t)=>{t.d(E,{n:()=>S});class S{getEraseSize(_,E){return E}}},6359:(_,E,t)=>{t.d(E,{ESP32S2ROM:()=>s});var S=t(5521);class s extends S.n{constructor(){super(...arguments),this.CHIP_NAME="ESP32-S2",this.IMAGE_CHIP_ID=2,this.IROM_MAP_START=0x40080000,this.IROM_MAP_END=0x40b80000,this.DROM_MAP_START=0x3f000000,this.DROM_MAP_END=0x3f3f0000,this.CHIP_DETECT_MAGIC_VALUE=[1990],this.SPI_REG_BASE=0x3f402000,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.SPI_ADDR_REG_MSB=!1,this.MAC_EFUSE_REG=0x3f41a044,this.UART_CLKDIV_REG=0x3f400014,this.SUPPORTS_ENCRYPTED_FLASH=!0,this.FLASH_ENCRYPTED_WRITE_ALIGN=16,this.EFUSE_BASE=0x3f41a000,this.EFUSE_RD_REG_BASE=this.EFUSE_BASE+48,this.EFUSE_BLOCK1_ADDR=this.EFUSE_BASE+68,this.EFUSE_BLOCK2_ADDR=this.EFUSE_BASE+92,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=524288,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.EFUSE_RD_REPEAT_DATA3_REG=this.EFUSE_BASE+60,this.EFUSE_RD_REPEAT_DATA3_REG_FLASH_TYPE_MASK=512,this.PURPOSE_VAL_XTS_AES256_KEY_1=2,this.PURPOSE_VAL_XTS_AES256_KEY_2=3,this.PURPOSE_VAL_XTS_AES128_KEY=4,this.UARTDEV_BUF_NO=0x3ffffd14,this.UARTDEV_BUF_NO_USB_OTG=2,this.USB_RAM_BLOCK=2048,this.GPIO_STRAP_REG=0x3f404038,this.GPIO_STRAP_SPI_BOOT_MASK=8,this.GPIO_STRAP_VDDSPI_MASK=16,this.RTC_CNTL_OPTION1_REG=0x3f408128,this.RTC_CNTL_FORCE_DOWNLOAD_BOOT_MASK=1,this.RTCCNTL_BASE_REG=0x3f408000,this.RTC_CNTL_WDTCONFIG0_REG=this.RTCCNTL_BASE_REG+148,this.RTC_CNTL_WDTCONFIG1_REG=this.RTCCNTL_BASE_REG+152,this.RTC_CNTL_WDTWPROTECT_REG=this.RTCCNTL_BASE_REG+172,this.RTC_CNTL_WDT_WKEY=0x50d83aa1,this.MEMORY_MAP=[[0,65536,"PADDING"],[0x3f000000,0x3ff80000,"DROM"],[0x3f500000,0x3ff80000,"EXTRAM_DATA"],[0x3ff9e000,0x3ffa0000,"RTC_DRAM"],[0x3ff9e000,0x40000000,"BYTE_ACCESSIBLE"],[0x3ff9e000,0x40072000,"MEM_INTERNAL"],[0x3ffb0000,0x40000000,"DRAM"],[0x40000000,0x4001a100,"IROM_MASK"],[0x40020000,0x40070000,"IRAM"],[0x40070000,0x40072000,"RTC_IRAM"],[0x40080000,0x40800000,"IROM"],[0x50000000,0x50002000,"RTC_DATA"]],this.EFUSE_VDD_SPI_REG=this.EFUSE_BASE+52,this.VDD_SPI_XPD=16,this.VDD_SPI_TIEH=32,this.VDD_SPI_FORCE=64,this.UF2_FAMILY_ID=0xbfdd4eee,this.EFUSE_MAX_KEY=5,this.KEY_PURPOSES={0:"USER/EMPTY",1:"RESERVED",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"},this.UART_CLKDIV_MASK=1048575,this.UART_DATE_REG_ADDR=0x60000078,this.FLASH_WRITE_SIZE=1024,this.BOOTLOADER_FLASH_OFFSET=4096,this.FLASH_SIZES={"1MB":0,"2MB":16,"4MB":32,"8MB":48,"16MB":64}}async getPkgVersion(_){let E=this.EFUSE_BLOCK1_ADDR+16;return await _.readReg(E)>>0&15}async getMinorChipVersion(_){return((await _.readReg(this.EFUSE_BLOCK1_ADDR+12)>>20&1)<<3)+(await _.readReg(this.EFUSE_BLOCK1_ADDR+16)>>4&7)}async getMajorChipVersion(_){return await _.readReg(this.EFUSE_BLOCK1_ADDR+12)>>18&3}async getFlashVersion(_){return await _.readReg(this.EFUSE_BLOCK1_ADDR+12)>>21&15}async getChipDescription(_){let E=await this.getFlashCap(_)+await this.getPsramCap(_)*100,t=await this.getMajorChipVersion(_),S=await this.getMinorChipVersion(_);return`${({0:"ESP32-S2",1:"ESP32-S2FH2",2:"ESP32-S2FH4",102:"ESP32-S2FNR2",100:"ESP32-S2R2"})[E]||"unknown ESP32-S2"} (revision v${t}.${S})`}async getFlashCap(_){return await this.getFlashVersion(_)}async getPsramVersion(_){let E=this.EFUSE_BLOCK1_ADDR+12;return await _.readReg(E)>>28&15}async getPsramCap(_){return await this.getPsramVersion(_)}async getBlock2Version(_){let E=this.EFUSE_BLOCK2_ADDR+16;return await _.readReg(E)>>4&7}async getChipFeatures(_){let E=["Wi-Fi"];return E.push({0:"No Embedded Flash",1:"Embedded Flash 2MB",2:"Embedded Flash 4MB"}[await this.getFlashCap(_)]||"Unknown Embedded Flash"),E.push({0:"No Embedded Flash",1:"Embedded PSRAM 2MB",2:"Embedded PSRAM 4MB"}[await this.getPsramCap(_)]||"Unknown Embedded PSRAM"),E.push({0:"No calibration in BLK2 of efuse",1:"ADC and temperature sensor calibration in BLK2 of efuse V1",2:"ADC and temperature sensor calibration in BLK2 of efuse V2"}[await this.getBlock2Version(_)]||"Unknown Calibration in BLK2"),E}async getCrystalFreq(_){return 40}_d2h(_){let E=(+_).toString(16);return 1===E.length?"0"+E:E}async readMac(_){let E=await _.readReg(this.MAC_EFUSE_REG);E>>>=0;let t=await _.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]=E>>24&255,S[3]=E>>16&255,S[4]=E>>8&255,S[5]=255&E,this._d2h(S[0])+":"+this._d2h(S[1])+":"+this._d2h(S[2])+":"+this._d2h(S[3])+":"+this._d2h(S[4])+":"+this._d2h(S[5])}getEraseSize(_,E){return E}async usingUsbOtg(_){return(await _.readReg(this.UARTDEV_BUF_NO)&255)===this.UARTDEV_BUF_NO_USB_OTG}async postConnect(_){let E=await this.usingUsbOtg(_);_.debug("In _post_connect using USB OTG ?"+E),E&&(_.ESP_RAM_BLOCK=this.USB_RAM_BLOCK)}}}}]);

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.