1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[892,1322,5379],{71322:function(t,e,i){i.d(e,{ESP32ROM:function(){return _}});var s=i(61896);class _ extends s.e{constructor(){super(...arguments),this.CHIP_NAME="ESP32",this.IMAGE_CHIP_ID=0,this.EFUSE_RD_REG_BASE=1073061888,this.DR_REG_SYSCON_BASE=1073111040,this.UART_CLKDIV_REG=1072955412,this.UART_CLKDIV_MASK=1048575,this.UART_DATE_REG_ADDR=1610612856,this.XTAL_CLK_DIVIDER=1,this.IROM_MAP_START=1074593792,this.IROM_MAP_END=1077936128,this.DROM_MAP_START=1061158912,this.DROM_MAP_END=1065353216,this.MEMORY_MAP=[[0,65536,"PADDING"],[1061158912,1065353216,"DROM"],[1065353216,1069547520,"EXTRAM_DATA"],[1073217536,1073225728,"RTC_DRAM"],[1073283072,1073741824,"BYTE_ACCESSIBLE"],[1073405952,1073741824,"DRAM"],[1073610752,1073741820,"DIRAM_DRAM"],[1073741824,1074200576,"IROM"],[1074200576,1074233344,"CACHE_PRO"],[1074233344,1074266112,"CACHE_APP"],[1074266112,1074397184,"IRAM"],[1074397184,1074528252,"DIRAM_IRAM"],[1074528256,1074536448,"RTC_IRAM"],[1074593792,1077936128,"IROM"],[1342177280,1342185472,"RTC_DATA"]],this.FLASH_SIZES={"1MB":0,"2MB":16,"4MB":32,"8MB":48,"16MB":64,"32MB":80,"64MB":96,"128MB":112},this.FLASH_FREQUENCY={"80m":15,"40m":0,"26m":1,"20m":2},this.FLASH_WRITE_SIZE=1024,this.BOOTLOADER_FLASH_OFFSET=4096,this.SPI_REG_BASE=1072963584,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 i=this.EFUSE_RD_REG_BASE+4*e;return t.debug("Read efuse "+i),await t.readReg(i)}async getPkgVersion(t){let e=await this.readEfuse(t,3);return(e>>9&7)+((e>>2&1)<<3)}async getChipRevision(t){let e=await this.readEfuse(t,3),i=await this.readEfuse(t,5),s=await t.readReg(this.DR_REG_SYSCON_BASE+124);return 0!=(e>>15&1)?0==(i>>20&1)?1:0!=(s>>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"],i="",s=await this.getPkgVersion(t),_=await this.getChipRevision(t),E=3==_;return 0!=(await this.readEfuse(t,3)&1)&&(e[0]="ESP32-S0WDQ6",e[1]="ESP32-S0WD"),E&&(e[5]="ESP32-PICO-V3"),i=s>=0&&s<=6?e[s]:"Unknown ESP32",E&&(0===s||1===s)&&(i+="-V3"),i+" (revision "+_+")"}async getChipFeatures(t){let e=["Wi-Fi"],i=await this.readEfuse(t,3);0==(2&i)&&e.push(" BT"),0!=(1&i)?e.push(" Single Core"):e.push(" Dual Core"),0!=(8192&i)&&(0!=(4096&i)?e.push(" 160MHz"):e.push(" 240MHz"));let s=await this.getPkgVersion(t);return -1!==[2,4,5,6].indexOf(s)&&e.push(" Embedded Flash"),6===s&&e.push(" Embedded PSRAM"),0!=(await this.readEfuse(t,4)>>8&31)&&e.push(" VRef calibration in efuse"),0!=(i>>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 i=await t.readReg(this.UART_CLKDIV_REG)&this.UART_CLKDIV_MASK,s=t.transport.baudrate*i/1e6/this.XTAL_CLK_DIVIDER;return Math.abs((e=s>33?40:26)-s)>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 i=await this.readEfuse(t,2);i>>>=0;let s=new Uint8Array(6);return s[0]=i>>8&255,s[1]=255&i,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])}}},65379:function(t,e,i){i.d(e,{ESP32C3ROM:function(){return _}});var s=i(71322);class _ extends s.ESP32ROM{constructor(){super(...arguments),this.CHIP_NAME="ESP32-C3",this.IMAGE_CHIP_ID=5,this.EFUSE_BASE=1610647552,this.MAC_EFUSE_REG=this.EFUSE_BASE+68,this.UART_CLKDIV_REG=1072955412,this.UART_CLKDIV_MASK=1048575,this.UART_DATE_REG_ADDR=1610612860,this.FLASH_WRITE_SIZE=1024,this.BOOTLOADER_FLASH_OFFSET=0,this.SPI_REG_BASE=1610620928,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.IROM_MAP_START=1107296256,this.IROM_MAP_END=1115684864,this.MEMORY_MAP=[[0,65536,"PADDING"],[1006632960,1015021568,"DROM"],[1070071808,1070465024,"DRAM"],[1070104576,1070596096,"BYTE_ACCESSIBLE"],[1072693248,1072824320,"DROM_MASK"],[1073741824,1074135040,"IROM_MASK"],[1107296256,1115684864,"IROM"],[1077395456,1077805056,"IRAM"],[1342177280,1342185472,"RTC_IRAM"],[1342177280,1342185472,"RTC_DRAM"],[1611653120,1611661312,"MEM_INTERNAL2"]]}async getPkgVersion(t){let e=this.EFUSE_BASE+68;return await t.readReg(e+12)>>21&7}async getChipRevision(t){let e=this.EFUSE_BASE+68;return(await t.readReg(e+12)&1835008)>>18}async getMinorChipVersion(t){let e=this.EFUSE_BASE+68+20,i=await t.readReg(e)>>23&1,s=this.EFUSE_BASE+68+12;return(i<<3)+(await t.readReg(s)>>18&7)}async getMajorChipVersion(t){let e=this.EFUSE_BASE+68+20;return await t.readReg(e)>>24&3}async getChipDescription(t){let e=await this.getPkgVersion(t),i=await this.getMajorChipVersion(t),s=await this.getMinorChipVersion(t);return`${({0:"ESP32-C3 (QFN32)",1:"ESP8685 (QFN28)",2:"ESP32-C3 AZ (QFN32)",3:"ESP8686 (QFN24)"})[e]||"Unknown ESP32-C3"} (revision v${i}.${s})`}async getFlashCap(t){let e=this.EFUSE_BASE+68;return await t.readReg(e+12)>>27&7}async getFlashVendor(t){let e=this.EFUSE_BASE+68;return({1:"XMC",2:"GD",3:"FM",4:"TT",5:"ZBIT"})[await t.readReg(e+16)>>0&7]||""}async getChipFeatures(t){let e=["Wi-Fi","BLE"],i=await this.getFlashCap(t),s=await this.getFlashVendor(t),_={0:null,1:"Embedded Flash 4MB",2:"Embedded Flash 2MB",3:"Embedded Flash 1MB",4:"Embedded Flash 8MB"}[i];return null!==_&&e.push(`${void 0!==_?_:"Unknown Embedded Flash"} (${s})`),e}async getCrystalFreq(t){return 40}_d2h(t){let e=(+t).toString(16);return 1===e.length?"0"+e:e}async readMac(t){let e=await t.readReg(this.MAC_EFUSE_REG);e>>>=0;let i=await t.readReg(this.MAC_EFUSE_REG+4);
1i=i>>>0&65535;let s=new Uint8Array(6);return s[0]=i>>8&255,s[1]=255&i,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(t,e){return e}}},20892:function(t,e,i){i.d(e,{ESP32C6ROM:function(){return _}});var s=i(65379);class _ extends s.ESP32C3ROM{constructor(){super(...arguments),this.CHIP_NAME="ESP32-C6",this.IMAGE_CHIP_ID=13,this.EFUSE_BASE=1611335680,this.EFUSE_BLOCK1_ADDR=this.EFUSE_BASE+68,this.MAC_EFUSE_REG=this.EFUSE_BASE+68,this.UART_CLKDIV_REG=1072955412,this.UART_CLKDIV_MASK=1048575,this.UART_DATE_REG_ADDR=1610612860,this.FLASH_WRITE_SIZE=1024,this.BOOTLOADER_FLASH_OFFSET=0,this.SPI_REG_BASE=1610620928,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.IROM_MAP_START=1107296256,this.IROM_MAP_END=1115684864,this.MEMORY_MAP=[[0,65536,"PADDING"],[1107296256,1124073472,"DROM"],[1082130432,1082654720,"DRAM"],[1082130432,1082654720,"BYTE_ACCESSIBLE"],[1074048e3,1074069504,"DROM_MASK"],[1073741824,1074048e3,"IROM_MASK"],[1107296256,1124073472,"IROM"],[1082130432,1082654720,"IRAM"],[1342177280,1342193664,"RTC_IRAM"],[1342177280,1342193664,"RTC_DRAM"],[1611653120,1611661312,"MEM_INTERNAL2"]]}async getPkgVersion(t){let e=this.EFUSE_BASE+68;return await t.readReg(e+12)>>21&7}async getChipRevision(t){let e=this.EFUSE_BASE+68;return(await t.readReg(e+12)&1835008)>>18}async getChipDescription(t){return(0===await this.getPkgVersion(t)?"ESP32-C6":"unknown ESP32-C6")+(" (revision "+await this.getChipRevision(t))+")"}async getChipFeatures(t){return["Wi-Fi 6","BT 5","IEEE802.15.4"]}async getCrystalFreq(t){return 40}_d2h(t){let e=(+t).toString(16);return 1===e.length?"0"+e:e}async readMac(t){let e=await t.readReg(this.MAC_EFUSE_REG);e>>>=0;let i=await t.readReg(this.MAC_EFUSE_REG+4);i=i>>>0&65535;let s=new Uint8Array(6);return s[0]=i>>8&255,s[1]=255&i,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(t,e){return e}}}}]);
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.