PageSourceSearch

https://enjoy-df-fwupdate.netlify.app/_next/static/chunks/354.3b857840162bf75d.js

js enjoy-df-fwupdate.netlify.app collected 2026-10-03 10:42:28 UTC 2,740 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[354],{5521:(t,e,s)=>{s.d(e,{n:()=>i});class i{getEraseSize(t,e){return e}}},7354:(t,e,s)=>{s.d(e,{ESP32ROM:()=>a});var i=s(5521);class a extends i.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(t,e){let s=this.EFUSE_RD_REG_BASE+4*e;return t.debug("Read efuse "+s),await t.readReg(s)}async getPkgVersion(t){let e=await this.readEfuse(t,3),s=e>>9&7;return s+((e>>2&1)<<3)}async getChipRevision(t){let e=await this.readEfuse(t,3),s=await this.readEfuse(t,5),i=await t.readReg(this.DR_REG_SYSCON_BASE+124);return 0!=(e>>15&1)?0==(s>>20&1)?1:0!=(i>>31&1)?3:2:0}async getChipDescription(t){let e=["ESP32-D0WDQ6","ESP32-D0WD","ESP32-D2WD","","ESP32-U4WDH","ESP32-PICO-D4","ESP32-PICO-V3-02"],s="",i=await this.getPkgVersion(t),a=await this.getChipRevision(t),h=3==a;return 0!=(await this.readEfuse(t,3)&1)&&(e[0]="ESP32-S0WDQ6",e[1]="ESP32-S0WD"),h&&(e[5]="ESP32-PICO-V3"),s=i>=0&&i<=6?e[i]:"Unknown ESP32",h&&(0===i||1===i)&&(s+="-V3"),s+" (revision "+a+")"}async getChipFeatures(t){let e=["Wi-Fi"],s=await this.readEfuse(t,3);0==(2&s)&&e.push(" BT"),0!=(1&s)?e.push(" Single Core"):e.push(" Dual Core"),0!=(8192&s)&&(0!=(4096&s)?e.push(" 160MHz"):e.push(" 240MHz"));let i=await this.getPkgVersion(t);return -1!==[2,4,5,6].indexOf(i)&&e.push(" Embedded Flash"),6===i&&e.push(" Embedded PSRAM"),0!=(await this.readEfuse(t,4)>>8&31)&&e.push(" VRef calibration in efuse"),0!=(s>>14&1)&&e.push(" BLK3 partially reserved"),e.push(" Coding Scheme "+["None","3/4","Repeat (UNSUPPORTED)","Invalid"][3&await this.readEfuse(t,6)]),e}async getCrystalFreq(t){let e;let s=await t.readReg(this.UART_CLKDIV_REG)&this.UART_CLKDIV_MASK,i=t.transport.baudrate*s/1e6/this.XTAL_CLK_DIVIDER;return Math.abs((e=i>33?40:26)-i)>1&&t.info("WARNING: Unsupported crystal in use"),e}_d2h(t){let e=(+t).toString(16);return 1===e.length?"0"+e:e}async readMac(t){let e=await this.readEfuse(t,1);e>>>=0;let s=await this.readEfuse(t,2);s>>>=0;let i=new Uint8Array(6);return i[0]=s>>8&255,i[1]=255&s,i[2]=e>>24&255,i[3]=e>>16&255,i[4]=e>>8&255,i[5]=255&e,this._d2h(i[0])+":"+this._d2h(i[1])+":"+this._d2h(i[2])+":"+this._d2h(i[3])+":"+this._d2h(i[4])+":"+this._d2h(i[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.