diff --git a/README.md b/README.md index e5bdf4daf..a9ff9fdc1 100644 --- a/README.md +++ b/README.md @@ -129,7 +129,9 @@ Ghost ESP turns your ESP32 into a powerful, cheap and helpful wireless testing t - **ESP32 C6** -> **Note:** Feature availability may vary by model. +- **ESP32 P4** + +> **Note:** Feature availability may vary by model. ESP32-P4 does not have built-in WiFi/BT but can work with external WiFi/BT chips via SDIO/SPI. --- diff --git a/configs/sdkconfig.default.esp32p4 b/configs/sdkconfig.default.esp32p4 new file mode 100644 index 000000000..1efc9a192 --- /dev/null +++ b/configs/sdkconfig.default.esp32p4 @@ -0,0 +1,3053 @@ +# +# Automatically generated file. DO NOT EDIT. +# Espressif IoT Development Framework (ESP-IDF) 5.5.1 Project Configuration +# +CONFIG_SOC_ADC_SUPPORTED=y +CONFIG_SOC_ANA_CMPR_SUPPORTED=y +CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y +CONFIG_SOC_UART_SUPPORTED=y +CONFIG_SOC_GDMA_SUPPORTED=y +CONFIG_SOC_UHCI_SUPPORTED=y +CONFIG_SOC_AHB_GDMA_SUPPORTED=y +CONFIG_SOC_AXI_GDMA_SUPPORTED=y +CONFIG_SOC_DW_GDMA_SUPPORTED=y +CONFIG_SOC_DMA2D_SUPPORTED=y +CONFIG_SOC_GPTIMER_SUPPORTED=y +CONFIG_SOC_PCNT_SUPPORTED=y +CONFIG_SOC_LCDCAM_SUPPORTED=y +CONFIG_SOC_LCDCAM_CAM_SUPPORTED=y +CONFIG_SOC_LCDCAM_I80_LCD_SUPPORTED=y +CONFIG_SOC_LCDCAM_RGB_LCD_SUPPORTED=y +CONFIG_SOC_MIPI_CSI_SUPPORTED=y +CONFIG_SOC_MIPI_DSI_SUPPORTED=y +CONFIG_SOC_MCPWM_SUPPORTED=y +CONFIG_SOC_TWAI_SUPPORTED=y +CONFIG_SOC_ETM_SUPPORTED=y +CONFIG_SOC_PARLIO_SUPPORTED=y +CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y +CONFIG_SOC_EMAC_SUPPORTED=y +CONFIG_SOC_USB_OTG_SUPPORTED=y +CONFIG_SOC_WIRELESS_HOST_SUPPORTED=y +CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y +CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y +CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y +CONFIG_SOC_ULP_SUPPORTED=y +CONFIG_SOC_LP_CORE_SUPPORTED=y +CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y +CONFIG_SOC_EFUSE_SUPPORTED=y +CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y +CONFIG_SOC_RTC_MEM_SUPPORTED=y +CONFIG_SOC_RMT_SUPPORTED=y +CONFIG_SOC_I2S_SUPPORTED=y +CONFIG_SOC_SDM_SUPPORTED=y +CONFIG_SOC_GPSPI_SUPPORTED=y +CONFIG_SOC_LEDC_SUPPORTED=y +CONFIG_SOC_ISP_SUPPORTED=y +CONFIG_SOC_I2C_SUPPORTED=y +CONFIG_SOC_SYSTIMER_SUPPORTED=y +CONFIG_SOC_AES_SUPPORTED=y +CONFIG_SOC_MPI_SUPPORTED=y +CONFIG_SOC_SHA_SUPPORTED=y +CONFIG_SOC_HMAC_SUPPORTED=y +CONFIG_SOC_DIG_SIGN_SUPPORTED=y +CONFIG_SOC_ECC_SUPPORTED=y +CONFIG_SOC_ECC_EXTENDED_MODES_SUPPORTED=y +CONFIG_SOC_FLASH_ENC_SUPPORTED=y +CONFIG_SOC_SECURE_BOOT_SUPPORTED=y +CONFIG_SOC_BOD_SUPPORTED=y +CONFIG_SOC_VBAT_SUPPORTED=y +CONFIG_SOC_APM_SUPPORTED=y +CONFIG_SOC_PMU_SUPPORTED=y +CONFIG_SOC_PMU_PVT_SUPPORTED=y +CONFIG_SOC_DCDC_SUPPORTED=y +CONFIG_SOC_PAU_SUPPORTED=y +CONFIG_SOC_LP_TIMER_SUPPORTED=y +CONFIG_SOC_ULP_LP_UART_SUPPORTED=y +CONFIG_SOC_LP_GPIO_MATRIX_SUPPORTED=y +CONFIG_SOC_LP_PERIPHERALS_SUPPORTED=y +CONFIG_SOC_LP_I2C_SUPPORTED=y +CONFIG_SOC_LP_I2S_SUPPORTED=y +CONFIG_SOC_LP_SPI_SUPPORTED=y +CONFIG_SOC_LP_ADC_SUPPORTED=y +CONFIG_SOC_LP_VAD_SUPPORTED=y +CONFIG_SOC_SPIRAM_SUPPORTED=y +CONFIG_SOC_PSRAM_DMA_CAPABLE=y +CONFIG_SOC_SDMMC_HOST_SUPPORTED=y +CONFIG_SOC_CLK_TREE_SUPPORTED=y +CONFIG_SOC_ASSIST_DEBUG_SUPPORTED=y +CONFIG_SOC_DEBUG_PROBE_SUPPORTED=y +CONFIG_SOC_WDT_SUPPORTED=y +CONFIG_SOC_SPI_FLASH_SUPPORTED=y +CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y +CONFIG_SOC_RNG_SUPPORTED=y +CONFIG_SOC_GP_LDO_SUPPORTED=y +CONFIG_SOC_PPA_SUPPORTED=y +CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y +CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y +CONFIG_SOC_PM_SUPPORTED=y +CONFIG_SOC_BITSCRAMBLER_SUPPORTED=y +CONFIG_SOC_SIMD_INSTRUCTION_SUPPORTED=y +CONFIG_SOC_I3C_MASTER_SUPPORTED=y +CONFIG_SOC_XTAL_SUPPORT_40M=y +CONFIG_SOC_AES_SUPPORT_DMA=y +CONFIG_SOC_AES_SUPPORT_GCM=y +CONFIG_SOC_AES_GDMA=y +CONFIG_SOC_AES_SUPPORT_AES_128=y +CONFIG_SOC_AES_SUPPORT_AES_256=y +CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y +CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y +CONFIG_SOC_ADC_DMA_SUPPORTED=y +CONFIG_SOC_ADC_PERIPH_NUM=2 +CONFIG_SOC_ADC_MAX_CHANNEL_NUM=8 +CONFIG_SOC_ADC_ATTEN_NUM=4 +CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2 +CONFIG_SOC_ADC_PATT_LEN_MAX=16 +CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 +CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 +CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 +CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 +CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4 +CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 +CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12 +CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 +CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y +CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y +CONFIG_SOC_ADC_CALIB_CHAN_COMPENS_SUPPORTED=y +CONFIG_SOC_ADC_SHARED_POWER=y +CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y +CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y +CONFIG_SOC_CACHE_WRITEBACK_SUPPORTED=y +CONFIG_SOC_CACHE_FREEZE_SUPPORTED=y +CONFIG_SOC_CACHE_INTERNAL_MEM_VIA_L1CACHE=y +CONFIG_SOC_CPU_CORES_NUM=2 +CONFIG_SOC_CPU_INTR_NUM=32 +CONFIG_SOC_CPU_HAS_FLEXIBLE_INTC=y +CONFIG_SOC_INT_CLIC_SUPPORTED=y +CONFIG_SOC_INT_HW_NESTED_SUPPORTED=y +CONFIG_SOC_BRANCH_PREDICTOR_SUPPORTED=y +CONFIG_SOC_CPU_COPROC_NUM=3 +CONFIG_SOC_CPU_HAS_FPU=y +CONFIG_SOC_CPU_HAS_FPU_EXT_ILL_BUG=y +CONFIG_SOC_CPU_HAS_HWLOOP=y +CONFIG_SOC_CPU_HAS_HWLOOP_STATE_BUG=y +CONFIG_SOC_CPU_HAS_PIE=y +CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y +CONFIG_SOC_CPU_BREAKPOINTS_NUM=3 +CONFIG_SOC_CPU_WATCHPOINTS_NUM=3 +CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=0x100 +CONFIG_SOC_CPU_HAS_PMA=y +CONFIG_SOC_CPU_IDRAM_SPLIT_USING_PMP=y +CONFIG_SOC_CPU_PMP_REGION_GRANULARITY=128 +CONFIG_SOC_CPU_HAS_LOCKUP_RESET=y +CONFIG_SOC_SIMD_PREFERRED_DATA_ALIGNMENT=16 +CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=4096 +CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16 +CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100 +CONFIG_SOC_DMA_CAN_ACCESS_FLASH=y +CONFIG_SOC_AHB_GDMA_VERSION=2 +CONFIG_SOC_GDMA_SUPPORT_CRC=y +CONFIG_SOC_GDMA_NUM_GROUPS_MAX=2 +CONFIG_SOC_GDMA_PAIRS_PER_GROUP_MAX=3 +CONFIG_SOC_AXI_GDMA_SUPPORT_PSRAM=y +CONFIG_SOC_GDMA_SUPPORT_ETM=y +CONFIG_SOC_GDMA_SUPPORT_SLEEP_RETENTION=y +CONFIG_SOC_AXI_DMA_EXT_MEM_ENC_ALIGNMENT=16 +CONFIG_SOC_DMA2D_GROUPS=1 +CONFIG_SOC_DMA2D_TX_CHANNELS_PER_GROUP=3 +CONFIG_SOC_DMA2D_RX_CHANNELS_PER_GROUP=2 +CONFIG_SOC_ETM_GROUPS=1 +CONFIG_SOC_ETM_CHANNELS_PER_GROUP=50 +CONFIG_SOC_ETM_SUPPORT_SLEEP_RETENTION=y +CONFIG_SOC_GPIO_PORT=1 +CONFIG_SOC_GPIO_PIN_COUNT=55 +CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y +CONFIG_SOC_GPIO_FLEX_GLITCH_FILTER_NUM=8 +CONFIG_SOC_GPIO_SUPPORT_PIN_HYS_FILTER=y +CONFIG_SOC_GPIO_SUPPORT_ETM=y +CONFIG_SOC_GPIO_SUPPORT_RTC_INDEPENDENT=y +CONFIG_SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP=y +CONFIG_SOC_LP_IO_HAS_INDEPENDENT_WAKEUP_SOURCE=y +CONFIG_SOC_LP_IO_CLOCK_IS_INDEPENDENT=y +CONFIG_SOC_GPIO_VALID_GPIO_MASK=0x007FFFFFFFFFFFFF +CONFIG_SOC_GPIO_IN_RANGE_MAX=54 +CONFIG_SOC_GPIO_OUT_RANGE_MAX=54 +CONFIG_SOC_GPIO_DEEP_SLEEP_WAKE_VALID_GPIO_MASK=0 +CONFIG_SOC_GPIO_DEEP_SLEEP_WAKE_SUPPORTED_PIN_CNT=16 +CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x007FFFFFFFFF0000 +CONFIG_SOC_GPIO_CLOCKOUT_BY_GPIO_MATRIX=y +CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=2 +CONFIG_SOC_CLOCKOUT_SUPPORT_CHANNEL_DIVIDER=y +CONFIG_SOC_DEBUG_PROBE_NUM_UNIT=1 +CONFIG_SOC_DEBUG_PROBE_MAX_OUTPUT_WIDTH=16 +CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y +CONFIG_SOC_RTCIO_PIN_COUNT=16 +CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y +CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y +CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y +CONFIG_SOC_RTCIO_EDGE_WAKE_SUPPORTED=y +CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8 +CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8 +CONFIG_SOC_DEDIC_PERIPH_ALWAYS_ENABLE=y +CONFIG_SOC_ANA_CMPR_NUM=2 +CONFIG_SOC_ANA_CMPR_CAN_DISTINGUISH_EDGE=y +CONFIG_SOC_ANA_CMPR_SUPPORT_ETM=y +CONFIG_SOC_I2C_NUM=3 +CONFIG_SOC_HP_I2C_NUM=2 +CONFIG_SOC_I2C_FIFO_LEN=32 +CONFIG_SOC_I2C_CMD_REG_NUM=8 +CONFIG_SOC_I2C_SUPPORT_SLAVE=y +CONFIG_SOC_I2C_SUPPORT_HW_FSM_RST=y +CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y +CONFIG_SOC_I2C_SUPPORT_XTAL=y +CONFIG_SOC_I2C_SUPPORT_RTC=y +CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y +CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y +CONFIG_SOC_I2C_SLAVE_CAN_GET_STRETCH_CAUSE=y +CONFIG_SOC_I2C_SLAVE_SUPPORT_I2CRAM_ACCESS=y +CONFIG_SOC_I2C_SLAVE_SUPPORT_SLAVE_UNMATCH=y +CONFIG_SOC_I2C_SUPPORT_SLEEP_RETENTION=y +CONFIG_SOC_LP_I2C_NUM=1 +CONFIG_SOC_LP_I2C_FIFO_LEN=16 +CONFIG_SOC_I2S_NUM=3 +CONFIG_SOC_I2S_HW_VERSION_2=y +CONFIG_SOC_I2S_SUPPORTS_ETM=y +CONFIG_SOC_I2S_SUPPORTS_XTAL=y +CONFIG_SOC_I2S_SUPPORTS_APLL=y +CONFIG_SOC_I2S_SUPPORTS_PCM=y +CONFIG_SOC_I2S_SUPPORTS_PDM=y +CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y +CONFIG_SOC_I2S_SUPPORTS_PCM2PDM=y +CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y +CONFIG_SOC_I2S_SUPPORTS_PDM2PCM=y +CONFIG_SOC_I2S_SUPPORTS_PDM_RX_HP_FILTER=y +CONFIG_SOC_I2S_SUPPORTS_TX_SYNC_CNT=y +CONFIG_SOC_I2S_SUPPORTS_TDM=y +CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2 +CONFIG_SOC_I2S_PDM_MAX_RX_LINES=4 +CONFIG_SOC_I2S_TDM_FULL_DATA_WIDTH=y +CONFIG_SOC_I2S_SUPPORT_SLEEP_RETENTION=y +CONFIG_SOC_LP_I2S_NUM=1 +CONFIG_SOC_ISP_BF_SUPPORTED=y +CONFIG_SOC_ISP_CCM_SUPPORTED=y +CONFIG_SOC_ISP_DEMOSAIC_SUPPORTED=y +CONFIG_SOC_ISP_DVP_SUPPORTED=y +CONFIG_SOC_ISP_SHARPEN_SUPPORTED=y +CONFIG_SOC_ISP_COLOR_SUPPORTED=y +CONFIG_SOC_ISP_LSC_SUPPORTED=y +CONFIG_SOC_ISP_SHARE_CSI_BRG=y +CONFIG_SOC_ISP_NUMS=1 +CONFIG_SOC_ISP_DVP_CTLR_NUMS=1 +CONFIG_SOC_ISP_AE_CTLR_NUMS=1 +CONFIG_SOC_ISP_AE_BLOCK_X_NUMS=5 +CONFIG_SOC_ISP_AE_BLOCK_Y_NUMS=5 +CONFIG_SOC_ISP_AF_CTLR_NUMS=1 +CONFIG_SOC_ISP_AF_WINDOW_NUMS=3 +CONFIG_SOC_ISP_BF_TEMPLATE_X_NUMS=3 +CONFIG_SOC_ISP_BF_TEMPLATE_Y_NUMS=3 +CONFIG_SOC_ISP_CCM_DIMENSION=3 +CONFIG_SOC_ISP_DEMOSAIC_GRAD_RATIO_INT_BITS=2 +CONFIG_SOC_ISP_DEMOSAIC_GRAD_RATIO_DEC_BITS=4 +CONFIG_SOC_ISP_DEMOSAIC_GRAD_RATIO_RES_BITS=26 +CONFIG_SOC_ISP_DVP_DATA_WIDTH_MAX=16 +CONFIG_SOC_ISP_SHARPEN_TEMPLATE_X_NUMS=3 +CONFIG_SOC_ISP_SHARPEN_TEMPLATE_Y_NUMS=3 +CONFIG_SOC_ISP_SHARPEN_H_FREQ_COEF_INT_BITS=3 +CONFIG_SOC_ISP_SHARPEN_H_FREQ_COEF_DEC_BITS=5 +CONFIG_SOC_ISP_SHARPEN_H_FREQ_COEF_RES_BITS=24 +CONFIG_SOC_ISP_SHARPEN_M_FREQ_COEF_INT_BITS=3 +CONFIG_SOC_ISP_SHARPEN_M_FREQ_COEF_DEC_BITS=5 +CONFIG_SOC_ISP_SHARPEN_M_FREQ_COEF_RES_BITS=24 +CONFIG_SOC_ISP_HIST_CTLR_NUMS=1 +CONFIG_SOC_ISP_HIST_BLOCK_X_NUMS=5 +CONFIG_SOC_ISP_HIST_BLOCK_Y_NUMS=5 +CONFIG_SOC_ISP_HIST_SEGMENT_NUMS=16 +CONFIG_SOC_ISP_HIST_INTERVAL_NUMS=15 +CONFIG_SOC_ISP_LSC_GRAD_RATIO_INT_BITS=2 +CONFIG_SOC_ISP_LSC_GRAD_RATIO_DEC_BITS=8 +CONFIG_SOC_ISP_LSC_GRAD_RATIO_RES_BITS=22 +CONFIG_SOC_LEDC_SUPPORT_PLL_DIV_CLOCK=y +CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y +CONFIG_SOC_LEDC_TIMER_NUM=4 +CONFIG_SOC_LEDC_CHANNEL_NUM=8 +CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=20 +CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_SUPPORTED=y +CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_RANGE_MAX=16 +CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y +CONFIG_SOC_LEDC_FADE_PARAMS_BIT_WIDTH=10 +CONFIG_SOC_LEDC_SUPPORT_SLEEP_RETENTION=y +CONFIG_SOC_MMU_PERIPH_NUM=2 +CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=2 +CONFIG_SOC_MMU_DI_VADDR_SHARED=y +CONFIG_SOC_MMU_PER_EXT_MEM_TARGET=y +CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 +CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 +CONFIG_SOC_PCNT_GROUPS=1 +CONFIG_SOC_PCNT_UNITS_PER_GROUP=4 +CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 +CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 +CONFIG_SOC_PCNT_SUPPORT_RUNTIME_THRES_UPDATE=y +CONFIG_SOC_PCNT_SUPPORT_CLEAR_SIGNAL=y +CONFIG_SOC_PCNT_SUPPORT_SLEEP_RETENTION=y +CONFIG_SOC_RMT_GROUPS=1 +CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=4 +CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=4 +CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8 +CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48 +CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y +CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y +CONFIG_SOC_RMT_SUPPORT_TX_ASYNC_STOP=y +CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y +CONFIG_SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP=y +CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y +CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y +CONFIG_SOC_RMT_SUPPORT_XTAL=y +CONFIG_SOC_RMT_SUPPORT_RC_FAST=y +CONFIG_SOC_RMT_SUPPORT_DMA=y +CONFIG_SOC_RMT_SUPPORT_SLEEP_RETENTION=y +CONFIG_SOC_LCD_I80_SUPPORTED=y +CONFIG_SOC_LCD_RGB_SUPPORTED=y +CONFIG_SOC_LCDCAM_I80_NUM_BUSES=1 +CONFIG_SOC_LCDCAM_I80_BUS_WIDTH=24 +CONFIG_SOC_LCDCAM_RGB_NUM_PANELS=1 +CONFIG_SOC_LCDCAM_RGB_DATA_WIDTH=24 +CONFIG_SOC_LCD_SUPPORT_RGB_YUV_CONV=y +CONFIG_SOC_MCPWM_GROUPS=2 +CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 +CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 +CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2 +CONFIG_SOC_MCPWM_EVENT_COMPARATORS_PER_OPERATOR=2 +CONFIG_SOC_MCPWM_GENERATORS_PER_OPERATOR=2 +CONFIG_SOC_MCPWM_TRIGGERS_PER_OPERATOR=2 +CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3 +CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y +CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3 +CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 +CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE=y +CONFIG_SOC_MCPWM_SUPPORT_ETM=y +CONFIG_SOC_MCPWM_SUPPORT_EVENT_COMPARATOR=y +CONFIG_SOC_MCPWM_CAPTURE_CLK_FROM_GROUP=y +CONFIG_SOC_MCPWM_SUPPORT_SLEEP_RETENTION=y +CONFIG_SOC_USB_OTG_PERIPH_NUM=2 +CONFIG_SOC_USB_UTMI_PHY_NUM=1 +CONFIG_SOC_USB_UTMI_PHY_NO_POWER_OFF_ISO=y +CONFIG_SOC_PARLIO_GROUPS=1 +CONFIG_SOC_PARLIO_TX_UNITS_PER_GROUP=1 +CONFIG_SOC_PARLIO_RX_UNITS_PER_GROUP=1 +CONFIG_SOC_PARLIO_TX_UNIT_MAX_DATA_WIDTH=16 +CONFIG_SOC_PARLIO_RX_UNIT_MAX_DATA_WIDTH=16 +CONFIG_SOC_PARLIO_TX_CLK_SUPPORT_GATING=y +CONFIG_SOC_PARLIO_RX_CLK_SUPPORT_GATING=y +CONFIG_SOC_PARLIO_RX_CLK_SUPPORT_OUTPUT=y +CONFIG_SOC_PARLIO_TRANS_BIT_ALIGN=y +CONFIG_SOC_PARLIO_TX_SUPPORT_LOOP_TRANSMISSION=y +CONFIG_SOC_PARLIO_SUPPORT_SLEEP_RETENTION=y +CONFIG_SOC_PARLIO_SUPPORT_SPI_LCD=y +CONFIG_SOC_PARLIO_SUPPORT_I80_LCD=y +CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 +CONFIG_SOC_MPI_OPERATIONS_NUM=3 +CONFIG_SOC_RSA_MAX_BIT_LEN=4096 +CONFIG_SOC_SDMMC_USE_IOMUX=y +CONFIG_SOC_SDMMC_USE_GPIO_MATRIX=y +CONFIG_SOC_SDMMC_NUM_SLOTS=2 +CONFIG_SOC_SDMMC_DELAY_PHASE_NUM=4 +CONFIG_SOC_SDMMC_IO_POWER_EXTERNAL=y +CONFIG_SOC_SDMMC_PSRAM_DMA_CAPABLE=y +CONFIG_SOC_SDMMC_UHS_I_SUPPORTED=y +CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 +CONFIG_SOC_SHA_SUPPORT_DMA=y +CONFIG_SOC_SHA_SUPPORT_RESUME=y +CONFIG_SOC_SHA_GDMA=y +CONFIG_SOC_SHA_SUPPORT_SHA1=y +CONFIG_SOC_SHA_SUPPORT_SHA224=y +CONFIG_SOC_SHA_SUPPORT_SHA256=y +CONFIG_SOC_SHA_SUPPORT_SHA384=y +CONFIG_SOC_SHA_SUPPORT_SHA512=y +CONFIG_SOC_SHA_SUPPORT_SHA512_224=y +CONFIG_SOC_SHA_SUPPORT_SHA512_256=y +CONFIG_SOC_SHA_SUPPORT_SHA512_T=y +CONFIG_SOC_ECDSA_SUPPORT_EXPORT_PUBKEY=y +CONFIG_SOC_ECDSA_SUPPORT_DETERMINISTIC_MODE=y +CONFIG_SOC_ECDSA_USES_MPI=y +CONFIG_SOC_SDM_GROUPS=1 +CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8 +CONFIG_SOC_SDM_CLK_SUPPORT_PLL_F80M=y +CONFIG_SOC_SDM_CLK_SUPPORT_XTAL=y +CONFIG_SOC_SPI_PERIPH_NUM=3 +CONFIG_SOC_SPI_MAX_CS_NUM=6 +CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 +CONFIG_SOC_SPI_SUPPORT_SLEEP_RETENTION=y +CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y +CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y +CONFIG_SOC_SPI_SUPPORT_DDRCLK=y +CONFIG_SOC_SPI_SUPPORT_CD_SIG=y +CONFIG_SOC_SPI_SUPPORT_OCT=y +CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y +CONFIG_SOC_SPI_SUPPORT_CLK_RC_FAST=y +CONFIG_SOC_SPI_SUPPORT_CLK_SPLL=y +CONFIG_SOC_MSPI_HAS_INDEPENT_IOMUX=y +CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y +CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 +CONFIG_SOC_LP_SPI_PERIPH_NUM=y +CONFIG_SOC_LP_SPI_MAXIMUM_BUFFER_SIZE=64 +CONFIG_SOC_SPIRAM_XIP_SUPPORTED=y +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y +CONFIG_SOC_SPI_MEM_SUPPORT_IDLE_INTR=y +CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y +CONFIG_SOC_SPI_MEM_SUPPORT_CHECK_SUS=y +CONFIG_SOC_SPI_MEM_SUPPORT_TIMING_TUNING=y +CONFIG_SOC_MEMSPI_TIMING_TUNING_BY_DQS=y +CONFIG_SOC_MEMSPI_TIMING_TUNING_BY_FLASH_DELAY=y +CONFIG_SOC_SPI_MEM_SUPPORT_CACHE_32BIT_ADDR_MAP=y +CONFIG_SOC_SPI_PERIPH_SUPPORT_CONTROL_DUMMY_OUT=y +CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y +CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y +CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y +CONFIG_SOC_MEMSPI_SRC_FREQ_120M_SUPPORTED=y +CONFIG_SOC_MEMSPI_FLASH_PSRAM_INDEPENDENT=y +CONFIG_SOC_SYSTIMER_COUNTER_NUM=2 +CONFIG_SOC_SYSTIMER_ALARM_NUM=3 +CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 +CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20 +CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y +CONFIG_SOC_SYSTIMER_SUPPORT_RC_FAST=y +CONFIG_SOC_SYSTIMER_INT_LEVEL=y +CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y +CONFIG_SOC_SYSTIMER_SUPPORT_ETM=y +CONFIG_SOC_LP_TIMER_BIT_WIDTH_LO=32 +CONFIG_SOC_LP_TIMER_BIT_WIDTH_HI=16 +CONFIG_SOC_TIMER_GROUPS=2 +CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2 +CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=54 +CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y +CONFIG_SOC_TIMER_GROUP_SUPPORT_RC_FAST=y +CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 +CONFIG_SOC_TIMER_SUPPORT_ETM=y +CONFIG_SOC_TIMER_SUPPORT_SLEEP_RETENTION=y +CONFIG_SOC_MWDT_SUPPORT_XTAL=y +CONFIG_SOC_MWDT_SUPPORT_SLEEP_RETENTION=y +CONFIG_SOC_TOUCH_SENSOR_VERSION=3 +CONFIG_SOC_TOUCH_SENSOR_NUM=14 +CONFIG_SOC_TOUCH_MIN_CHAN_ID=1 +CONFIG_SOC_TOUCH_MAX_CHAN_ID=14 +CONFIG_SOC_TOUCH_SUPPORT_SLEEP_WAKEUP=y +CONFIG_SOC_TOUCH_SUPPORT_BENCHMARK=y +CONFIG_SOC_TOUCH_SUPPORT_WATERPROOF=y +CONFIG_SOC_TOUCH_SUPPORT_PROX_SENSING=y +CONFIG_SOC_TOUCH_PROXIMITY_CHANNEL_NUM=3 +CONFIG_SOC_TOUCH_PROXIMITY_MEAS_DONE_SUPPORTED=y +CONFIG_SOC_TOUCH_SUPPORT_FREQ_HOP=y +CONFIG_SOC_TOUCH_SAMPLE_CFG_NUM=3 +CONFIG_SOC_TWAI_CONTROLLER_NUM=3 +CONFIG_SOC_TWAI_MASK_FILTER_NUM=1 +CONFIG_SOC_TWAI_CLK_SUPPORT_XTAL=y +CONFIG_SOC_TWAI_BRP_MIN=2 +CONFIG_SOC_TWAI_BRP_MAX=32768 +CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y +CONFIG_SOC_TWAI_SUPPORT_SLEEP_RETENTION=y +CONFIG_SOC_EFUSE_DIS_PAD_JTAG=y +CONFIG_SOC_EFUSE_DIS_USB_JTAG=y +CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y +CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y +CONFIG_SOC_EFUSE_DIS_DOWNLOAD_MSPI=y +CONFIG_SOC_EFUSE_ECDSA_KEY=y +CONFIG_SOC_KEY_MANAGER_SUPPORT_KEY_DEPLOYMENT=y +CONFIG_SOC_KEY_MANAGER_ECDSA_KEY_DEPLOY=y +CONFIG_SOC_KEY_MANAGER_FE_KEY_DEPLOY=y +CONFIG_SOC_KEY_MANAGER_FE_KEY_DEPLOY_XTS_AES_128=y +CONFIG_SOC_KEY_MANAGER_FE_KEY_DEPLOY_XTS_AES_256=y +CONFIG_SOC_SECURE_BOOT_V2_RSA=y +CONFIG_SOC_SECURE_BOOT_V2_ECC=y +CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 +CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y +CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y +CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64 +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_OPTIONS=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_256=y +CONFIG_SOC_UART_NUM=6 +CONFIG_SOC_UART_HP_NUM=5 +CONFIG_SOC_UART_LP_NUM=1 +CONFIG_SOC_UART_FIFO_LEN=128 +CONFIG_SOC_LP_UART_FIFO_LEN=16 +CONFIG_SOC_UART_BITRATE_MAX=5000000 +CONFIG_SOC_UART_SUPPORT_PLL_F80M_CLK=y +CONFIG_SOC_UART_SUPPORT_RTC_CLK=y +CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y +CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y +CONFIG_SOC_UART_HAS_LP_UART=y +CONFIG_SOC_UART_SUPPORT_SLEEP_RETENTION=y +CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y +CONFIG_SOC_UART_WAKEUP_CHARS_SEQ_MAX_LEN=5 +CONFIG_SOC_UART_WAKEUP_SUPPORT_ACTIVE_THRESH_MODE=y +CONFIG_SOC_UART_WAKEUP_SUPPORT_FIFO_THRESH_MODE=y +CONFIG_SOC_UART_WAKEUP_SUPPORT_START_BIT_MODE=y +CONFIG_SOC_UART_WAKEUP_SUPPORT_CHAR_SEQ_MODE=y +CONFIG_SOC_LP_I2S_SUPPORT_VAD=y +CONFIG_SOC_UHCI_NUM=1 +CONFIG_SOC_COEX_HW_PTI=y +CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 +CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 +CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP_MODE_PER_PIN=y +CONFIG_SOC_PM_EXT1_WAKEUP_BY_PMU=y +CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_XTAL32K_PD=y +CONFIG_SOC_PM_SUPPORT_RC32K_PD=y +CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y +CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y +CONFIG_SOC_PM_SUPPORT_TOP_PD=y +CONFIG_SOC_PM_SUPPORT_CNNT_PD=y +CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y +CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y +CONFIG_SOC_PM_CPU_RETENTION_BY_SW=y +CONFIG_SOC_PM_CACHE_RETENTION_BY_PAU=y +CONFIG_SOC_PM_PAU_LINK_NUM=4 +CONFIG_SOC_PM_PAU_REGDMA_LINK_MULTI_ADDR=y +CONFIG_SOC_PAU_IN_TOP_DOMAIN=y +CONFIG_SOC_CPU_IN_TOP_DOMAIN=y +CONFIG_SOC_PM_PAU_REGDMA_UPDATE_CACHE_BEFORE_WAIT_COMPARE=y +CONFIG_SOC_SLEEP_SYSTIMER_STALL_WORKAROUND=y +CONFIG_SOC_SLEEP_TGWDT_STOP_WORKAROUND=y +CONFIG_SOC_PM_RETENTION_MODULE_NUM=64 +CONFIG_SOC_PSRAM_VDD_POWER_MPLL=y +CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y +CONFIG_SOC_CLK_APLL_SUPPORTED=y +CONFIG_SOC_CLK_MPLL_SUPPORTED=y +CONFIG_SOC_CLK_SDIO_PLL_SUPPORTED=y +CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y +CONFIG_SOC_CLK_RC32K_SUPPORTED=y +CONFIG_SOC_CLK_LP_FAST_SUPPORT_LP_PLL=y +CONFIG_SOC_CLK_LP_FAST_SUPPORT_XTAL=y +CONFIG_SOC_PERIPH_CLK_CTRL_SHARED=y +CONFIG_SOC_CLK_ANA_I2C_MST_HAS_ROOT_GATE=y +CONFIG_SOC_TEMPERATURE_SENSOR_LP_PLL_SUPPORT=y +CONFIG_SOC_TEMPERATURE_SENSOR_INTR_SUPPORT=y +CONFIG_SOC_TSENS_IS_INDEPENDENT_FROM_ADC=y +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_ETM=y +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_SLEEP_RETENTION=y +CONFIG_SOC_MEM_TCM_SUPPORTED=y +CONFIG_SOC_MEM_NON_CONTIGUOUS_SRAM=y +CONFIG_SOC_ASYNCHRONOUS_BUS_ERROR_MODE=y +CONFIG_SOC_EMAC_IEEE1588V2_SUPPORTED=y +CONFIG_SOC_EMAC_USE_MULTI_IO_MUX=y +CONFIG_SOC_EMAC_MII_USE_GPIO_MATRIX=y +CONFIG_SOC_JPEG_CODEC_SUPPORTED=y +CONFIG_SOC_JPEG_DECODE_SUPPORTED=y +CONFIG_SOC_JPEG_ENCODE_SUPPORTED=y +CONFIG_SOC_LCDCAM_CAM_SUPPORT_RGB_YUV_CONV=y +CONFIG_SOC_LCDCAM_CAM_PERIPH_NUM=1 +CONFIG_SOC_LCDCAM_CAM_DATA_WIDTH_MAX=16 +CONFIG_SOC_I3C_MASTER_PERIPH_NUM=y +CONFIG_SOC_I3C_MASTER_ADDRESS_TABLE_NUM=12 +CONFIG_SOC_I3C_MASTER_COMMAND_TABLE_NUM=12 +CONFIG_SOC_LP_CORE_SUPPORT_ETM=y +CONFIG_SOC_LP_CORE_SUPPORT_LP_ADC=y +CONFIG_SOC_LP_CORE_SUPPORT_LP_VAD=y +CONFIG_SOC_LP_CORE_SUPPORT_STORE_LOAD_EXCEPTIONS=y +CONFIG_IDF_CMAKE=y +CONFIG_IDF_TOOLCHAIN="gcc" +CONFIG_IDF_TOOLCHAIN_GCC=y +CONFIG_IDF_TARGET_ARCH_RISCV=y +CONFIG_IDF_TARGET_ARCH="riscv" +CONFIG_IDF_TARGET="esp32p4" +CONFIG_IDF_INIT_VERSION="5.5.1" +CONFIG_IDF_TARGET_ESP32P4=y +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0012 + +# +# Build type +# +CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y +# CONFIG_APP_BUILD_TYPE_RAM is not set +CONFIG_APP_BUILD_GENERATE_BINARIES=y +CONFIG_APP_BUILD_BOOTLOADER=y +CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y +# CONFIG_APP_REPRODUCIBLE_BUILD is not set +# CONFIG_APP_NO_BLOBS is not set +# end of Build type + +# +# Bootloader config +# + +# +# Bootloader manager +# +CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y +CONFIG_BOOTLOADER_PROJECT_VER=1 +# end of Bootloader manager + +# +# Application Rollback +# +# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set +# end of Application Rollback + +# +# Recovery Bootloader and Rollback +# +# end of Recovery Bootloader and Rollback + +CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x2000 +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set + +# +# Log +# +CONFIG_BOOTLOADER_LOG_VERSION_1=y +CONFIG_BOOTLOADER_LOG_VERSION=1 +# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set +CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y +# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set +# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set +CONFIG_BOOTLOADER_LOG_LEVEL=3 + +# +# Format +# +# CONFIG_BOOTLOADER_LOG_COLORS is not set +CONFIG_BOOTLOADER_LOG_TIMESTAMP_SOURCE_CPU_TICKS=y +# end of Format + +# +# Settings +# +CONFIG_BOOTLOADER_LOG_MODE_TEXT_EN=y +CONFIG_BOOTLOADER_LOG_MODE_TEXT=y +# end of Settings +# end of Log + +# +# Serial Flash Configurations +# +# CONFIG_BOOTLOADER_FLASH_DC_AWARE is not set +CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y +# end of Serial Flash Configurations + +# CONFIG_BOOTLOADER_FACTORY_RESET is not set +# CONFIG_BOOTLOADER_APP_TEST is not set +CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y +CONFIG_BOOTLOADER_WDT_ENABLE=y +# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set +CONFIG_BOOTLOADER_WDT_TIME_MS=9000 +# CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set +CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 +# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set +# end of Bootloader config + +# +# Security features +# +CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y +CONFIG_SECURE_BOOT_V2_ECC_SUPPORTED=y +CONFIG_SECURE_BOOT_V2_PREFERRED=y +# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set +# CONFIG_SECURE_BOOT is not set +# CONFIG_SECURE_FLASH_ENC_ENABLED is not set +CONFIG_SECURE_ROM_DL_MODE_ENABLED=y +# end of Security features + +# +# Application manager +# +CONFIG_APP_COMPILE_TIME_DATE=y +# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set +# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set +# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set +CONFIG_APP_RETRIEVE_LEN_ELF_SHA=9 +# end of Application manager + +CONFIG_ESP_ROM_HAS_CRC_LE=y +CONFIG_ESP_ROM_HAS_CRC_BE=y +CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=6 +CONFIG_ESP_ROM_USB_OTG_NUM=5 +CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y +CONFIG_ESP_ROM_GET_CLK_FREQ=y +CONFIG_ESP_ROM_HAS_RVFPLIB=y +CONFIG_ESP_ROM_HAS_HAL_WDT=y +CONFIG_ESP_ROM_HAS_HAL_SYSTIMER=y +CONFIG_ESP_ROM_SYSTIMER_INIT_PATCH=y +CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y +CONFIG_ESP_ROM_WDT_INIT_PATCH=y +CONFIG_ESP_ROM_HAS_LP_ROM=y +CONFIG_ESP_ROM_WITHOUT_REGI2C=y +CONFIG_ESP_ROM_HAS_NEWLIB=y +CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y +CONFIG_ESP_ROM_HAS_NEWLIB_NANO_PRINTF_FLOAT_BUG=y +CONFIG_ESP_ROM_HAS_VERSION=y +CONFIG_ESP_ROM_CLIC_INT_TYPE_PATCH=y +CONFIG_ESP_ROM_HAS_OUTPUT_PUTC_FUNC=y +CONFIG_ESP_ROM_HAS_SUBOPTIMAL_NEWLIB_ON_MISALIGNED_MEMORY=y + +# +# Boot ROM Behavior +# +CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y +# CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set +# CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set +# CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set +# end of Boot ROM Behavior + +# +# Serial flasher config +# +# CONFIG_ESPTOOLPY_NO_STUB is not set +# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set +# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set +CONFIG_ESPTOOLPY_FLASHMODE_DIO=y +# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set +CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y +CONFIG_ESPTOOLPY_FLASHMODE="dio" +CONFIG_ESPTOOLPY_FLASHFREQ_80M=y +# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set +# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set +CONFIG_ESPTOOLPY_FLASHFREQ_VAL=80 +CONFIG_ESPTOOLPY_FLASHFREQ="80m" +# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y +# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set +# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set +CONFIG_ESPTOOLPY_FLASHSIZE="4MB" +# CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set +CONFIG_ESPTOOLPY_BEFORE_RESET=y +# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set +CONFIG_ESPTOOLPY_BEFORE="default_reset" +CONFIG_ESPTOOLPY_AFTER_RESET=y +# CONFIG_ESPTOOLPY_AFTER_NORESET is not set +CONFIG_ESPTOOLPY_AFTER="hard_reset" +CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 +# end of Serial flasher config + +# +# Partition Table +# +# CONFIG_PARTITION_TABLE_SINGLE_APP is not set +# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set +# CONFIG_PARTITION_TABLE_TWO_OTA is not set +# CONFIG_PARTITION_TABLE_TWO_OTA_LARGE is not set +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_OFFSET=0x8000 +CONFIG_PARTITION_TABLE_MD5=y +# end of Partition Table + +# +# Ghost ESP Options +# + +# +# Device Detials +# +CONFIG_BUILD_CONFIG_TEMPLATE="default.esp32p4" +# end of Device Detials + +# +# LED Options +# +# CONFIG_USE_NEOPIXEL is not set +CONFIG_NUM_LEDS=0 +CONFIG_RED_RGB_PIN=-1 +CONFIG_GREEN_RGB_PIN=-1 +CONFIG_BLUE_RGB_PIN=-1 +# end of LED Options + +# +# Display Options +# +# CONFIG_WITH_SCREEN is not set +# CONFIG_USE_TOUCHSCREEN is not set +# CONFIG_USE_7_INCHER is not set +# CONFIG_Waveshare_LCD is not set +# CONFIG_Crowtech_LCD is not set +# CONFIG_Sunton_LCD is not set +# CONFIG_JC3248W535EN_LCD is not set +# CONFIG_USE_ILI9341_2 is not set +# CONFIG_WITH_STATUS_DISPLAY is not set +# end of Display Options + +# +# Misc Options +# +# CONFIG_USE_JOYSTICK is not set +# CONFIG_USE_TDECK is not set +# CONFIG_USE_CARDPUTER is not set +# CONFIG_USE_CARDPUTER_ADV is not set +# CONFIG_USE_TDISPLAY_S3 is not set +# CONFIG_USE_HW_KB is not set +# CONFIG_HAS_BATTERY is not set +# CONFIG_HAS_BATTERY_ADC is not set +# CONFIG_HAS_FUEL_GAUGE is not set +# CONFIG_HAS_RTC_CLOCK is not set +# CONFIG_WITH_ETHERNET is not set +# CONFIG_IS_GHOST_BOARD is not set +# CONFIG_IS_S3TWATCH is not set +# CONFIG_HAS_INFRARED is not set +# CONFIG_USE_ENCODER is not set + +# +# NFC Options +# +# CONFIG_NFC_PN532 is not set +CONFIG_NFC_CHAMELEON=y +CONFIG_HAS_NFC=y +# end of NFC Options +# end of Misc Options + +# +# GPS Configuration +# +# CONFIG_HAS_GPS is not set + +# +# NMEA Statement Support +# + +# +# At least one statement must be selected +# +# end of NMEA Statement Support +# end of GPS Configuration + +# +# SPI and MMC Configuration +# +CONFIG_USING_SPI=y +# CONFIG_USING_MMC is not set +# CONFIG_USING_MMC_1_BIT is not set +CONFIG_SD_SPI_CS_PIN=5 +CONFIG_SD_SPI_CLK_PIN=14 +CONFIG_SD_SPI_MISO_PIN=9 +CONFIG_SD_SPI_MOSI_PIN=23 +# end of SPI and MMC Configuration +# end of Ghost ESP Options + +# +# Compiler options +# +# CONFIG_COMPILER_OPTIMIZATION_DEBUG is not set +CONFIG_COMPILER_OPTIMIZATION_SIZE=y +# CONFIG_COMPILER_OPTIMIZATION_PERF is not set +# CONFIG_COMPILER_OPTIMIZATION_NONE is not set +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set +CONFIG_COMPILER_ASSERT_NDEBUG_EVALUATE=y +# CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB is not set +CONFIG_COMPILER_FLOAT_LIB_FROM_RVFPLIB=y +CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 +# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set +CONFIG_COMPILER_HIDE_PATHS_MACROS=y +# CONFIG_COMPILER_CXX_EXCEPTIONS is not set +# CONFIG_COMPILER_CXX_RTTI is not set +CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y +# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set +# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set +# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set +# CONFIG_COMPILER_NO_MERGE_CONSTANTS is not set +# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set +# CONFIG_COMPILER_SAVE_RESTORE_LIBCALLS is not set +CONFIG_COMPILER_DISABLE_DEFAULT_ERRORS=y +# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set +# CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set +# CONFIG_COMPILER_DISABLE_GCC14_WARNINGS is not set +# CONFIG_COMPILER_DUMP_RTL_FILES is not set +CONFIG_COMPILER_RT_LIB_GCCLIB=y +CONFIG_COMPILER_RT_LIB_NAME="gcc" +CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING=y +# CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE is not set +# CONFIG_COMPILER_STATIC_ANALYZER is not set +# end of Compiler options + +# +# Component config +# + +# +# Application Level Tracing +# +# CONFIG_APPTRACE_DEST_JTAG is not set +CONFIG_APPTRACE_DEST_NONE=y +# CONFIG_APPTRACE_DEST_UART1 is not set +# CONFIG_APPTRACE_DEST_UART2 is not set +CONFIG_APPTRACE_DEST_UART_NONE=y +CONFIG_APPTRACE_UART_TASK_PRIO=1 +CONFIG_APPTRACE_LOCK_ENABLE=y +# end of Application Level Tracing + +# +# Bluetooth +# +# CONFIG_BT_ENABLED is not set + +# +# Common Options +# +# CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED is not set +# CONFIG_BT_BLE_LOG_UHCI_OUT_ENABLED is not set +# end of Common Options +# end of Bluetooth + +# +# Console Library +# +# CONFIG_CONSOLE_SORTED_HELP is not set +# end of Console Library + +# +# Driver Configurations +# + +# +# Legacy TWAI Driver Configurations +# +# CONFIG_TWAI_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy TWAI Driver Configurations + +# +# Legacy ADC Driver Configuration +# +# CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_ADC_SKIP_LEGACY_CONFLICT_CHECK is not set + +# +# Legacy ADC Calibration Configuration +# +# CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set +# end of Legacy ADC Calibration Configuration +# end of Legacy ADC Driver Configuration + +# +# Legacy MCPWM Driver Configurations +# +# CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_MCPWM_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy MCPWM Driver Configurations + +# +# Legacy Timer Group Driver Configurations +# +# CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_GPTIMER_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy Timer Group Driver Configurations + +# +# Legacy RMT Driver Configurations +# +# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_RMT_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy RMT Driver Configurations + +# +# Legacy I2S Driver Configurations +# +# CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_I2S_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy I2S Driver Configurations + +# +# Legacy I2C Driver Configurations +# +# CONFIG_I2C_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy I2C Driver Configurations + +# +# Legacy PCNT Driver Configurations +# +# CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_PCNT_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy PCNT Driver Configurations + +# +# Legacy SDM Driver Configurations +# +# CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_SDM_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy SDM Driver Configurations + +# +# Legacy Temperature Sensor Driver Configurations +# +# CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_TEMP_SENSOR_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy Temperature Sensor Driver Configurations + +# +# Legacy Touch Sensor Driver Configurations +# +# CONFIG_TOUCH_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_TOUCH_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy Touch Sensor Driver Configurations +# end of Driver Configurations + +# +# eFuse Bit Manager +# +# CONFIG_EFUSE_CUSTOM_TABLE is not set +# CONFIG_EFUSE_VIRTUAL is not set +CONFIG_EFUSE_MAX_BLK_LEN=256 +# end of eFuse Bit Manager + +# +# ESP-TLS +# +CONFIG_ESP_TLS_USING_MBEDTLS=y +# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set +CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y +# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set +# CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set +# CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set +# CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL is not set +# CONFIG_ESP_TLS_PSK_VERIFICATION is not set +# CONFIG_ESP_TLS_INSECURE is not set +CONFIG_ESP_TLS_DYN_BUF_STRATEGY_SUPPORTED=y +# end of ESP-TLS + +# +# ADC and ADC Calibration +# +# CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set +# CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set +# CONFIG_ADC_ENABLE_DEBUG_LOG is not set +# end of ADC and ADC Calibration + +# +# Wireless Coexistence +# +# CONFIG_ESP_COEX_GPIO_DEBUG is not set +# end of Wireless Coexistence + +# +# Common ESP-related +# +CONFIG_ESP_ERR_TO_NAME_LOOKUP=y +# end of Common ESP-related + +# +# ESP-Driver:Analog Comparator Configurations +# +CONFIG_ANA_CMPR_ISR_HANDLER_IN_IRAM=y +# CONFIG_ANA_CMPR_CTRL_FUNC_IN_IRAM is not set +# CONFIG_ANA_CMPR_ISR_CACHE_SAFE is not set +CONFIG_ANA_CMPR_OBJ_CACHE_SAFE=y +# CONFIG_ANA_CMPR_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Analog Comparator Configurations + +# +# BitScrambler Configurations +# +# CONFIG_BITSCRAMBLER_CTRL_FUNC_IN_IRAM is not set +# end of BitScrambler Configurations + +# +# ESP-Driver:Camera Controller Configurations +# +# CONFIG_CAM_CTLR_MIPI_CSI_ISR_CACHE_SAFE is not set +# CONFIG_CAM_CTLR_ISP_DVP_ISR_CACHE_SAFE is not set +# CONFIG_CAM_CTLR_DVP_CAM_ISR_CACHE_SAFE is not set +# end of ESP-Driver:Camera Controller Configurations + +# +# ESP-Driver:GPIO Configurations +# +# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:GPIO Configurations + +# +# ESP-Driver:GPTimer Configurations +# +CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y +# CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set +# CONFIG_GPTIMER_ISR_CACHE_SAFE is not set +CONFIG_GPTIMER_OBJ_CACHE_SAFE=y +# CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:GPTimer Configurations + +# +# ESP-Driver:I2C Configurations +# +# CONFIG_I2C_ISR_IRAM_SAFE is not set +# CONFIG_I2C_ENABLE_DEBUG_LOG is not set +# CONFIG_I2C_ENABLE_SLAVE_DRIVER_VERSION_2 is not set +CONFIG_I2C_MASTER_ISR_HANDLER_IN_IRAM=y +# end of ESP-Driver:I2C Configurations + +# +# ESP-Driver:I2S Configurations +# +# CONFIG_I2S_ISR_IRAM_SAFE is not set +# CONFIG_I2S_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:I2S Configurations + +# +# ESP-Driver:ISP Configurations +# +# CONFIG_ISP_ISR_IRAM_SAFE is not set +# CONFIG_ISP_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:ISP Configurations + +# +# ESP-Driver:JPEG-Codec Configurations +# +# CONFIG_JPEG_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:JPEG-Codec Configurations + +# +# ESP-Driver:LEDC Configurations +# +# CONFIG_LEDC_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:LEDC Configurations + +# +# ESP-Driver:MCPWM Configurations +# +CONFIG_MCPWM_ISR_HANDLER_IN_IRAM=y +# CONFIG_MCPWM_ISR_CACHE_SAFE is not set +# CONFIG_MCPWM_CTRL_FUNC_IN_IRAM is not set +CONFIG_MCPWM_OBJ_CACHE_SAFE=y +# CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:MCPWM Configurations + +# +# ESP-Driver:Parallel IO Configurations +# +CONFIG_PARLIO_TX_ISR_HANDLER_IN_IRAM=y +CONFIG_PARLIO_RX_ISR_HANDLER_IN_IRAM=y +# CONFIG_PARLIO_TX_ISR_CACHE_SAFE is not set +# CONFIG_PARLIO_RX_ISR_CACHE_SAFE is not set +CONFIG_PARLIO_OBJ_CACHE_SAFE=y +# CONFIG_PARLIO_ENABLE_DEBUG_LOG is not set +# CONFIG_PARLIO_ISR_IRAM_SAFE is not set +# end of ESP-Driver:Parallel IO Configurations + +# +# ESP-Driver:PCNT Configurations +# +# CONFIG_PCNT_CTRL_FUNC_IN_IRAM is not set +# CONFIG_PCNT_ISR_IRAM_SAFE is not set +# CONFIG_PCNT_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:PCNT Configurations + +# +# ESP-Driver:RMT Configurations +# +CONFIG_RMT_ENCODER_FUNC_IN_IRAM=y +CONFIG_RMT_TX_ISR_HANDLER_IN_IRAM=y +CONFIG_RMT_RX_ISR_HANDLER_IN_IRAM=y +# CONFIG_RMT_RECV_FUNC_IN_IRAM is not set +# CONFIG_RMT_TX_ISR_CACHE_SAFE is not set +# CONFIG_RMT_RX_ISR_CACHE_SAFE is not set +CONFIG_RMT_OBJ_CACHE_SAFE=y +# CONFIG_RMT_ENABLE_DEBUG_LOG is not set +# CONFIG_RMT_ISR_IRAM_SAFE is not set +# end of ESP-Driver:RMT Configurations + +# +# ESP-Driver:Sigma Delta Modulator Configurations +# +# CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set +# CONFIG_SDM_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Sigma Delta Modulator Configurations + +# +# ESP-Driver:SPI Configurations +# +# CONFIG_SPI_MASTER_IN_IRAM is not set +CONFIG_SPI_MASTER_ISR_IN_IRAM=y +# CONFIG_SPI_SLAVE_IN_IRAM is not set +CONFIG_SPI_SLAVE_ISR_IN_IRAM=y +# end of ESP-Driver:SPI Configurations + +# +# ESP-Driver:Touch Sensor Configurations +# +# CONFIG_TOUCH_CTRL_FUNC_IN_IRAM is not set +# CONFIG_TOUCH_ISR_IRAM_SAFE is not set +# CONFIG_TOUCH_ENABLE_DEBUG_LOG is not set +# CONFIG_TOUCH_SKIP_FSM_CHECK is not set +# end of ESP-Driver:Touch Sensor Configurations + +# +# ESP-Driver:Temperature Sensor Configurations +# +# CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set +# CONFIG_TEMP_SENSOR_ISR_IRAM_SAFE is not set +# end of ESP-Driver:Temperature Sensor Configurations + +# +# ESP-Driver:TWAI Configurations +# +# CONFIG_TWAI_ISR_IN_IRAM is not set +# CONFIG_TWAI_ISR_CACHE_SAFE is not set +# CONFIG_TWAI_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:TWAI Configurations + +# +# ESP-Driver:UART Configurations +# +# CONFIG_UART_ISR_IN_IRAM is not set +# end of ESP-Driver:UART Configurations + +# +# ESP-Driver:UHCI Configurations +# +# CONFIG_UHCI_ISR_HANDLER_IN_IRAM is not set +# CONFIG_UHCI_ISR_CACHE_SAFE is not set +# CONFIG_UHCI_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:UHCI Configurations + +# +# ESP-Driver:USB Serial/JTAG Configuration +# +CONFIG_USJ_ENABLE_USB_SERIAL_JTAG=y +# end of ESP-Driver:USB Serial/JTAG Configuration + +# +# Ethernet +# +CONFIG_ETH_ENABLED=y +CONFIG_ETH_USE_ESP32_EMAC=y +CONFIG_ETH_PHY_INTERFACE_RMII=y +CONFIG_ETH_DMA_BUFFER_SIZE=512 +CONFIG_ETH_DMA_RX_BUFFER_NUM=20 +CONFIG_ETH_DMA_TX_BUFFER_NUM=10 +# CONFIG_ETH_SOFT_FLOW_CONTROL is not set +# CONFIG_ETH_IRAM_OPTIMIZATION is not set +CONFIG_ETH_USE_SPI_ETHERNET=y +# CONFIG_ETH_SPI_ETHERNET_DM9051 is not set +# CONFIG_ETH_SPI_ETHERNET_W5500 is not set +# CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL is not set +# CONFIG_ETH_USE_OPENETH is not set +# CONFIG_ETH_TRANSMIT_MUTEX is not set +# end of Ethernet + +# +# Event Loop Library +# +# CONFIG_ESP_EVENT_LOOP_PROFILING is not set +CONFIG_ESP_EVENT_POST_FROM_ISR=y +CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y +# end of Event Loop Library + +# +# GDB Stub +# +CONFIG_ESP_GDBSTUB_ENABLED=y +# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y +CONFIG_ESP_GDBSTUB_MAX_TASKS=32 +# end of GDB Stub + +# +# ESP HID +# +CONFIG_ESPHID_TASK_SIZE_BT=2048 +CONFIG_ESPHID_TASK_SIZE_BLE=4096 +# end of ESP HID + +# +# ESP HTTP client +# +CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y +# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set +# CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set +# CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT is not set +CONFIG_ESP_HTTP_CLIENT_EVENT_POST_TIMEOUT=2000 +# end of ESP HTTP client + +# +# HTTP Server +# +CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024 +CONFIG_HTTPD_MAX_URI_LEN=512 +CONFIG_HTTPD_ERR_RESP_NO_DELAY=y +CONFIG_HTTPD_PURGE_BUF_LEN=32 +# CONFIG_HTTPD_LOG_PURGE_DATA is not set +# CONFIG_HTTPD_WS_SUPPORT is not set +# CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set +CONFIG_HTTPD_SERVER_EVENT_POST_TIMEOUT=2000 +# end of HTTP Server + +# +# ESP HTTPS OTA +# +# CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set +# CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set +CONFIG_ESP_HTTPS_OTA_EVENT_POST_TIMEOUT=2000 +# end of ESP HTTPS OTA + +# +# ESP HTTPS server +# +# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set +CONFIG_ESP_HTTPS_SERVER_EVENT_POST_TIMEOUT=2000 +# CONFIG_ESP_HTTPS_SERVER_CERT_SELECT_HOOK is not set +# end of ESP HTTPS server + +# +# Hardware Settings +# + +# +# Chip revision +# +# CONFIG_ESP32P4_REV_MIN_0 is not set +CONFIG_ESP32P4_REV_MIN_1=y +# CONFIG_ESP32P4_REV_MIN_100 is not set +CONFIG_ESP32P4_REV_MIN_FULL=1 +CONFIG_ESP_REV_MIN_FULL=1 + +# +# Maximum Supported ESP32-P4 Revision (Rev v1.99) +# +CONFIG_ESP32P4_REV_MAX_FULL=199 +CONFIG_ESP_REV_MAX_FULL=199 +CONFIG_ESP_EFUSE_BLOCK_REV_MIN_FULL=0 +CONFIG_ESP_EFUSE_BLOCK_REV_MAX_FULL=99 + +# +# Maximum Supported ESP32-P4 eFuse Block Revision (eFuse Block Rev v0.99) +# +# end of Chip revision + +# +# MAC Config +# +CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_ONE=y +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=1 +CONFIG_ESP32P4_UNIVERSAL_MAC_ADDRESSES_ONE=y +CONFIG_ESP32P4_UNIVERSAL_MAC_ADDRESSES=1 +# CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set +# end of MAC Config + +# +# Sleep Config +# +CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y +# CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set +# CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set +CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=0 +# CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set +# CONFIG_ESP_SLEEP_DEBUG is not set +CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y +# end of Sleep Config + +# +# RTC Clock Config +# +CONFIG_RTC_CLK_SRC_INT_RC=y +# CONFIG_RTC_CLK_SRC_EXT_CRYS is not set +CONFIG_RTC_CLK_CAL_CYCLES=1024 +CONFIG_RTC_FAST_CLK_SRC_RC_FAST=y +# CONFIG_RTC_FAST_CLK_SRC_XTAL is not set +# end of RTC Clock Config + +# +# Peripheral Control +# +CONFIG_ESP_PERIPH_CTRL_FUNC_IN_IRAM=y +CONFIG_ESP_REGI2C_CTRL_FUNC_IN_IRAM=y +# end of Peripheral Control + +# +# ETM Configuration +# +# CONFIG_ETM_ENABLE_DEBUG_LOG is not set +# end of ETM Configuration + +# +# GDMA Configurations +# +CONFIG_GDMA_CTRL_FUNC_IN_IRAM=y +CONFIG_GDMA_ISR_HANDLER_IN_IRAM=y +CONFIG_GDMA_OBJ_DRAM_SAFE=y +# CONFIG_GDMA_ENABLE_DEBUG_LOG is not set +# CONFIG_GDMA_ISR_IRAM_SAFE is not set +# end of GDMA Configurations + +# +# DW_GDMA Configurations +# +# CONFIG_DW_GDMA_ENABLE_DEBUG_LOG is not set +# end of DW_GDMA Configurations + +# +# 2D-DMA Configurations +# +# CONFIG_DMA2D_OPERATION_FUNC_IN_IRAM is not set +# CONFIG_DMA2D_ISR_IRAM_SAFE is not set +# end of 2D-DMA Configurations + +# +# Main XTAL Config +# +CONFIG_XTAL_FREQ_40=y +CONFIG_XTAL_FREQ=40 +# end of Main XTAL Config + +# +# DCDC Regulator Configurations +# +CONFIG_ESP_SLEEP_KEEP_DCDC_ALWAYS_ON=y +CONFIG_ESP_SLEEP_DCM_VSET_VAL_IN_SLEEP=14 +# end of DCDC Regulator Configurations + +# +# LDO Regulator Configurations +# +CONFIG_ESP_LDO_RESERVE_SPI_NOR_FLASH=y +CONFIG_ESP_LDO_CHAN_SPI_NOR_FLASH_DOMAIN=1 +CONFIG_ESP_LDO_VOLTAGE_SPI_NOR_FLASH_3300_MV=y +CONFIG_ESP_LDO_VOLTAGE_SPI_NOR_FLASH_DOMAIN=3300 +CONFIG_ESP_LDO_RESERVE_PSRAM=y +CONFIG_ESP_LDO_CHAN_PSRAM_DOMAIN=2 +CONFIG_ESP_LDO_VOLTAGE_PSRAM_1900_MV=y +CONFIG_ESP_LDO_VOLTAGE_PSRAM_DOMAIN=1900 +# end of LDO Regulator Configurations + +# +# Power Supplier +# + +# +# Brownout Detector +# +CONFIG_ESP_BROWNOUT_DET=y +CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set +CONFIG_ESP_BROWNOUT_DET_LVL=7 +CONFIG_ESP_BROWNOUT_USE_INTR=y +# end of Brownout Detector + +# +# RTC Backup Battery +# +# CONFIG_ESP_VBAT_INIT_AUTO is not set +# CONFIG_ESP_VBAT_WAKEUP_CHIP_ON_VBAT_BROWNOUT is not set +# end of RTC Backup Battery +# end of Power Supplier + +CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y +CONFIG_ESP_ENABLE_PVT=y +CONFIG_ESP_INTR_IN_IRAM=y +# end of Hardware Settings + +# +# ESP-Driver:LCD Controller Configurations +# +# CONFIG_LCD_ENABLE_DEBUG_LOG is not set +# CONFIG_LCD_RGB_ISR_IRAM_SAFE is not set +# CONFIG_LCD_RGB_RESTART_IN_VSYNC is not set +# CONFIG_LCD_DSI_ISR_IRAM_SAFE is not set +# end of ESP-Driver:LCD Controller Configurations + +# +# ESP-MM: Memory Management Configurations +# +# CONFIG_ESP_MM_CACHE_MSYNC_C2M_CHUNKED_OPS is not set +# end of ESP-MM: Memory Management Configurations + +# +# ESP NETIF Adapter +# +CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120 +# CONFIG_ESP_NETIF_PROVIDE_CUSTOM_IMPLEMENTATION is not set +CONFIG_ESP_NETIF_TCPIP_LWIP=y +# CONFIG_ESP_NETIF_LOOPBACK is not set +CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=y +# CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS is not set +# CONFIG_ESP_NETIF_L2_TAP is not set +# CONFIG_ESP_NETIF_BRIDGE_EN is not set +# CONFIG_ESP_NETIF_SET_DNS_PER_DEFAULT_NETIF is not set +# end of ESP NETIF Adapter + +# +# Partition API Configuration +# +# end of Partition API Configuration + +# +# PHY +# +# end of PHY + +# +# Power Management +# +CONFIG_PM_SLEEP_FUNC_IN_IRAM=y +# CONFIG_PM_ENABLE is not set +CONFIG_PM_SLP_IRAM_OPT=y +# CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP is not set +# end of Power Management + +# +# ESP PSRAM +# +# CONFIG_SPIRAM is not set +# end of ESP PSRAM + +# +# ESP Ringbuf +# +# CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set +# end of ESP Ringbuf + +# +# ESP-ROM +# +CONFIG_ESP_ROM_PRINT_IN_IRAM=y +# end of ESP-ROM + +# +# ESP Security Specific +# +# end of ESP Security Specific + +# +# ESP System Settings +# +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_360=y +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=360 + +# +# Cache config +# +CONFIG_CACHE_L2_CACHE_128KB=y +# CONFIG_CACHE_L2_CACHE_256KB is not set +# CONFIG_CACHE_L2_CACHE_512KB is not set +CONFIG_CACHE_L2_CACHE_SIZE=0x20000 +CONFIG_CACHE_L2_CACHE_LINE_64B=y +# CONFIG_CACHE_L2_CACHE_LINE_128B is not set +CONFIG_CACHE_L2_CACHE_LINE_SIZE=64 +CONFIG_CACHE_L1_CACHE_LINE_SIZE=64 +# end of Cache config + +CONFIG_ESP_SYSTEM_IN_IRAM=y +# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set +CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y +# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set +# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set +CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 +CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y +CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y +CONFIG_ESP_SYSTEM_NO_BACKTRACE=y +# CONFIG_ESP_SYSTEM_USE_EH_FRAME is not set +# CONFIG_ESP_SYSTEM_USE_FRAME_POINTER is not set + +# +# Memory protection +# +CONFIG_ESP_SYSTEM_PMP_IDRAM_SPLIT=y +# CONFIG_ESP_SYSTEM_PMP_LP_CORE_RESERVE_MEM_EXECUTABLE is not set +# end of Memory protection + +CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 +CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y +# CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set +# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set +CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 +CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 +CONFIG_ESP_CONSOLE_UART_DEFAULT=y +# CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG is not set +# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set +# CONFIG_ESP_CONSOLE_NONE is not set +# CONFIG_ESP_CONSOLE_SECONDARY_NONE is not set +CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=y +CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED=y +CONFIG_ESP_CONSOLE_UART=y +CONFIG_ESP_CONSOLE_UART_NUM=0 +CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 +CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 +CONFIG_ESP_INT_WDT=y +CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 +CONFIG_ESP_INT_WDT_CHECK_CPU1=y +CONFIG_ESP_TASK_WDT_EN=y +CONFIG_ESP_TASK_WDT_INIT=y +# CONFIG_ESP_TASK_WDT_PANIC is not set +CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y +# CONFIG_ESP_PANIC_HANDLER_IRAM is not set +# CONFIG_ESP_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP_DEBUG_OCDAWARE=y +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y +CONFIG_ESP_SYSTEM_HW_STACK_GUARD=y +CONFIG_ESP_SYSTEM_HW_PC_RECORD=y +# end of ESP System Settings + +# +# IPC (Inter-Processor Call) +# +CONFIG_ESP_IPC_ENABLE=y +CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 +CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y +CONFIG_ESP_IPC_ISR_ENABLE=y +# end of IPC (Inter-Processor Call) + +# +# ESP Timer (High Resolution Timer) +# +CONFIG_ESP_TIMER_IN_IRAM=y +# CONFIG_ESP_TIMER_PROFILING is not set +CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y +CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y +CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584 +CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1 +# CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set +CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 +CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y +CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y +# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set +CONFIG_ESP_TIMER_IMPL_SYSTIMER=y +# end of ESP Timer (High Resolution Timer) + +# +# Wi-Fi +# +# CONFIG_ESP_HOST_WIFI_ENABLED is not set +# end of Wi-Fi + +# +# Core dump +# +# CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set +# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set +CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y +# end of Core dump + +# +# FAT Filesystem support +# +CONFIG_FATFS_VOLUME_COUNT=2 +CONFIG_FATFS_LFN_NONE=y +# CONFIG_FATFS_LFN_HEAP is not set +# CONFIG_FATFS_LFN_STACK is not set +# CONFIG_FATFS_SECTOR_512 is not set +CONFIG_FATFS_SECTOR_4096=y +# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set +CONFIG_FATFS_CODEPAGE_437=y +# CONFIG_FATFS_CODEPAGE_720 is not set +# CONFIG_FATFS_CODEPAGE_737 is not set +# CONFIG_FATFS_CODEPAGE_771 is not set +# CONFIG_FATFS_CODEPAGE_775 is not set +# CONFIG_FATFS_CODEPAGE_850 is not set +# CONFIG_FATFS_CODEPAGE_852 is not set +# CONFIG_FATFS_CODEPAGE_855 is not set +# CONFIG_FATFS_CODEPAGE_857 is not set +# CONFIG_FATFS_CODEPAGE_860 is not set +# CONFIG_FATFS_CODEPAGE_861 is not set +# CONFIG_FATFS_CODEPAGE_862 is not set +# CONFIG_FATFS_CODEPAGE_863 is not set +# CONFIG_FATFS_CODEPAGE_864 is not set +# CONFIG_FATFS_CODEPAGE_865 is not set +# CONFIG_FATFS_CODEPAGE_866 is not set +# CONFIG_FATFS_CODEPAGE_869 is not set +# CONFIG_FATFS_CODEPAGE_932 is not set +# CONFIG_FATFS_CODEPAGE_936 is not set +# CONFIG_FATFS_CODEPAGE_949 is not set +# CONFIG_FATFS_CODEPAGE_950 is not set +CONFIG_FATFS_CODEPAGE=437 +CONFIG_FATFS_FS_LOCK=0 +CONFIG_FATFS_TIMEOUT_MS=10000 +CONFIG_FATFS_PER_FILE_CACHE=y +# CONFIG_FATFS_USE_FASTSEEK is not set +CONFIG_FATFS_USE_STRFUNC_NONE=y +# CONFIG_FATFS_USE_STRFUNC_WITHOUT_CRLF_CONV is not set +# CONFIG_FATFS_USE_STRFUNC_WITH_CRLF_CONV is not set +CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 +# CONFIG_FATFS_IMMEDIATE_FSYNC is not set +# CONFIG_FATFS_USE_LABEL is not set +CONFIG_FATFS_LINK_LOCK=y +# CONFIG_FATFS_USE_DYN_BUFFERS is not set + +# +# File system free space calculation behavior +# +CONFIG_FATFS_DONT_TRUST_FREE_CLUSTER_CNT=0 +CONFIG_FATFS_DONT_TRUST_LAST_ALLOC=0 +# end of File system free space calculation behavior +# end of FAT Filesystem support + +# +# FreeRTOS +# + +# +# Kernel +# +# CONFIG_FREERTOS_UNICORE is not set +CONFIG_FREERTOS_HZ=100 +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set +CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y +CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 +# CONFIG_FREERTOS_USE_IDLE_HOOK is not set +# CONFIG_FREERTOS_USE_TICK_HOOK is not set +CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 +# CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set +CONFIG_FREERTOS_USE_TIMERS=y +CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME="Tmr Svc" +# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU0 is not set +# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU1 is not set +CONFIG_FREERTOS_TIMER_TASK_NO_AFFINITY=y +CONFIG_FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY=0x7FFFFFFF +CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 +CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 +CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 +# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set +# CONFIG_FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES is not set +# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set +# CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG is not set +# end of Kernel + +# +# Port +# +# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set +CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y +# CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set +# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set +CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y +CONFIG_FREERTOS_ISR_STACKSIZE=1536 +CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y +CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y +CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y +# CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set +CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y +# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set +# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set +# end of Port + +# +# Extra +# +# end of Extra + +CONFIG_FREERTOS_PORT=y +CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF +CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y +CONFIG_FREERTOS_DEBUG_OCDAWARE=y +CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y +CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y +CONFIG_FREERTOS_NUMBER_OF_CORES=2 +CONFIG_FREERTOS_IN_IRAM=y +# end of FreeRTOS + +# +# Hardware Abstraction Layer (HAL) and Low Level (LL) +# +CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y +# CONFIG_HAL_ASSERTION_DISABLE is not set +# CONFIG_HAL_ASSERTION_SILENT is not set +# CONFIG_HAL_ASSERTION_ENABLE is not set +CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 +CONFIG_HAL_SYSTIMER_USE_ROM_IMPL=y +CONFIG_HAL_WDT_USE_ROM_IMPL=y +# end of Hardware Abstraction Layer (HAL) and Low Level (LL) + +# +# Heap memory debugging +# +CONFIG_HEAP_POISONING_DISABLED=y +# CONFIG_HEAP_POISONING_LIGHT is not set +# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set +CONFIG_HEAP_TRACING_OFF=y +# CONFIG_HEAP_TRACING_STANDALONE is not set +# CONFIG_HEAP_TRACING_TOHOST is not set +# CONFIG_HEAP_USE_HOOKS is not set +# CONFIG_HEAP_TASK_TRACKING is not set +# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set +# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set +# end of Heap memory debugging + +# +# Log +# +CONFIG_LOG_VERSION_1=y +# CONFIG_LOG_VERSION_2 is not set +CONFIG_LOG_VERSION=1 + +# +# Log Level +# +# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set +# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set +# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set +CONFIG_LOG_DEFAULT_LEVEL_INFO=y +# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set +# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set +CONFIG_LOG_DEFAULT_LEVEL=3 +CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y +# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set +# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set +CONFIG_LOG_MAXIMUM_LEVEL=3 + +# +# Level Settings +# +# CONFIG_LOG_MASTER_LEVEL is not set +CONFIG_LOG_DYNAMIC_LEVEL_CONTROL=y +# CONFIG_LOG_TAG_LEVEL_IMPL_NONE is not set +# CONFIG_LOG_TAG_LEVEL_IMPL_LINKED_LIST is not set +CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_AND_LINKED_LIST=y +# CONFIG_LOG_TAG_LEVEL_CACHE_ARRAY is not set +CONFIG_LOG_TAG_LEVEL_CACHE_BINARY_MIN_HEAP=y +CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_SIZE=31 +# end of Level Settings +# end of Log Level + +# +# Format +# +# CONFIG_LOG_COLORS is not set +CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y +# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set +# end of Format + +# +# Settings +# +CONFIG_LOG_MODE_TEXT_EN=y +CONFIG_LOG_MODE_TEXT=y +# end of Settings + +CONFIG_LOG_IN_IRAM=y +# end of Log + +# +# LWIP +# +CONFIG_LWIP_ENABLE=y +CONFIG_LWIP_LOCAL_HOSTNAME="espressif" +CONFIG_LWIP_TCPIP_TASK_PRIO=18 +# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set +# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set +CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y +# CONFIG_LWIP_L2_TO_L3_COPY is not set +# CONFIG_LWIP_IRAM_OPTIMIZATION is not set +# CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION is not set +CONFIG_LWIP_TIMERS_ONDEMAND=y +CONFIG_LWIP_ND6=y +# CONFIG_LWIP_FORCE_ROUTER_FORWARDING is not set +CONFIG_LWIP_MAX_SOCKETS=10 +# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set +# CONFIG_LWIP_SO_LINGER is not set +CONFIG_LWIP_SO_REUSE=y +CONFIG_LWIP_SO_REUSE_RXTOALL=y +# CONFIG_LWIP_SO_RCVBUF is not set +# CONFIG_LWIP_NETBUF_RECVINFO is not set +CONFIG_LWIP_IP_DEFAULT_TTL=64 +CONFIG_LWIP_IP4_FRAG=y +CONFIG_LWIP_IP6_FRAG=y +# CONFIG_LWIP_IP4_REASSEMBLY is not set +# CONFIG_LWIP_IP6_REASSEMBLY is not set +CONFIG_LWIP_IP_REASS_MAX_PBUFS=10 +# CONFIG_LWIP_IP_FORWARD is not set +# CONFIG_LWIP_STATS is not set +CONFIG_LWIP_ESP_GRATUITOUS_ARP=y +CONFIG_LWIP_GARP_TMR_INTERVAL=60 +CONFIG_LWIP_ESP_MLDV6_REPORT=y +CONFIG_LWIP_MLDV6_TMR_INTERVAL=40 +CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 +CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y +# CONFIG_LWIP_DHCP_DOES_ACD_CHECK is not set +# CONFIG_LWIP_DHCP_DOES_NOT_CHECK_OFFERED_IP is not set +# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set +CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y +# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set +CONFIG_LWIP_DHCP_OPTIONS_LEN=69 +CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0 +CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1 + +# +# DHCP server +# +CONFIG_LWIP_DHCPS=y +CONFIG_LWIP_DHCPS_LEASE_UNIT=60 +CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 +CONFIG_LWIP_DHCPS_STATIC_ENTRIES=y +CONFIG_LWIP_DHCPS_ADD_DNS=y +# end of DHCP server + +# CONFIG_LWIP_AUTOIP is not set +CONFIG_LWIP_IPV4=y +CONFIG_LWIP_IPV6=y +# CONFIG_LWIP_IPV6_AUTOCONFIG is not set +CONFIG_LWIP_IPV6_NUM_ADDRESSES=3 +# CONFIG_LWIP_IPV6_FORWARD is not set +# CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set +CONFIG_LWIP_NETIF_LOOPBACK=y +CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 + +# +# TCP +# +CONFIG_LWIP_MAX_ACTIVE_TCP=16 +CONFIG_LWIP_MAX_LISTENING_TCP=16 +CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y +CONFIG_LWIP_TCP_MAXRTX=12 +CONFIG_LWIP_TCP_SYNMAXRTX=12 +CONFIG_LWIP_TCP_MSS=1440 +CONFIG_LWIP_TCP_TMR_INTERVAL=250 +CONFIG_LWIP_TCP_MSL=60000 +CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000 +CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5760 +CONFIG_LWIP_TCP_WND_DEFAULT=5760 +CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 +CONFIG_LWIP_TCP_ACCEPTMBOX_SIZE=6 +CONFIG_LWIP_TCP_QUEUE_OOSEQ=y +CONFIG_LWIP_TCP_OOSEQ_TIMEOUT=6 +CONFIG_LWIP_TCP_OOSEQ_MAX_PBUFS=4 +# CONFIG_LWIP_TCP_SACK_OUT is not set +CONFIG_LWIP_TCP_OVERSIZE_MSS=y +# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set +CONFIG_LWIP_TCP_RTO_TIME=1500 +# end of TCP + +# +# UDP +# +CONFIG_LWIP_MAX_UDP_PCBS=16 +CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 +# end of UDP + +# +# Checksums +# +# CONFIG_LWIP_CHECKSUM_CHECK_IP is not set +# CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set +CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y +# end of Checksums + +CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU1 is not set +CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF +CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 +CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 +CONFIG_LWIP_IPV6_ND6_NUM_PREFIXES=5 +CONFIG_LWIP_IPV6_ND6_NUM_ROUTERS=3 +CONFIG_LWIP_IPV6_ND6_NUM_DESTINATIONS=10 +# CONFIG_LWIP_PPP_SUPPORT is not set +# CONFIG_LWIP_SLIP_SUPPORT is not set + +# +# ICMP +# +CONFIG_LWIP_ICMP=y +# CONFIG_LWIP_MULTICAST_PING is not set +# CONFIG_LWIP_BROADCAST_PING is not set +# end of ICMP + +# +# LWIP RAW API +# +CONFIG_LWIP_MAX_RAW_PCBS=16 +# end of LWIP RAW API + +# +# SNTP +# +CONFIG_LWIP_SNTP_MAX_SERVERS=1 +# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set +CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 +CONFIG_LWIP_SNTP_STARTUP_DELAY=y +CONFIG_LWIP_SNTP_MAXIMUM_STARTUP_DELAY=5000 +# end of SNTP + +# +# DNS +# +CONFIG_LWIP_DNS_MAX_HOST_IP=1 +CONFIG_LWIP_DNS_MAX_SERVERS=3 +# CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set +# CONFIG_LWIP_DNS_SETSERVER_WITH_NETIF is not set +# CONFIG_LWIP_USE_ESP_GETADDRINFO is not set +# end of DNS + +CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7 +CONFIG_LWIP_ESP_LWIP_ASSERT=y + +# +# Hooks +# +# CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set +CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y +# CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set +CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y +# CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set +# CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set +CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y +# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set +# CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set +CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y +# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set +# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set +CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_NONE=y +# CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_DEFAULT is not set +# CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_CUSTOM is not set +CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set +CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_NONE=y +# CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_CUSTOM is not set +# CONFIG_LWIP_HOOK_IP6_INPUT_NONE is not set +CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT=y +# CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM is not set +# end of Hooks + +# CONFIG_LWIP_DEBUG is not set +# end of LWIP + +# +# mbedTLS +# +CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y +# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set +# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set +CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y +CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384 +CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096 +# CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set +# CONFIG_MBEDTLS_DEBUG is not set + +# +# mbedTLS v3.x related +# +# CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set +# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set +# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set +# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set +CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y +# CONFIG_MBEDTLS_SSL_KEYING_MATERIAL_EXPORT is not set +CONFIG_MBEDTLS_PKCS7_C=y +# end of mbedTLS v3.x related + +# +# Certificate Bundle +# +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set +# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST is not set +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 +# end of Certificate Bundle + +# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set +# CONFIG_MBEDTLS_CMAC_C is not set +CONFIG_MBEDTLS_HARDWARE_AES=y +CONFIG_MBEDTLS_AES_USE_INTERRUPT=y +CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0 +CONFIG_MBEDTLS_HARDWARE_GCM=y +CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y +CONFIG_MBEDTLS_HARDWARE_MPI=y +# CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set +CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y +CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0 +CONFIG_MBEDTLS_HARDWARE_SHA=y +CONFIG_MBEDTLS_HARDWARE_ECC=y +CONFIG_MBEDTLS_ECC_OTHER_CURVES_SOFT_FALLBACK=y +CONFIG_MBEDTLS_ROM_MD5=y +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set +CONFIG_MBEDTLS_HAVE_TIME=y +# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set +# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set +CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y +CONFIG_MBEDTLS_SHA1_C=y +CONFIG_MBEDTLS_SHA512_C=y +# CONFIG_MBEDTLS_SHA3_C is not set +CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y +# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set +# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set +# CONFIG_MBEDTLS_TLS_DISABLED is not set +CONFIG_MBEDTLS_TLS_SERVER=y +CONFIG_MBEDTLS_TLS_CLIENT=y +CONFIG_MBEDTLS_TLS_ENABLED=y + +# +# TLS Key Exchange Methods +# +# CONFIG_MBEDTLS_PSK_MODES is not set +CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y +# end of TLS Key Exchange Methods + +CONFIG_MBEDTLS_SSL_RENEGOTIATION=y +CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y +# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set +# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set +CONFIG_MBEDTLS_SSL_ALPN=y +CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y +CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y + +# +# Symmetric Ciphers +# +CONFIG_MBEDTLS_AES_C=y +# CONFIG_MBEDTLS_CAMELLIA_C is not set +# CONFIG_MBEDTLS_DES_C is not set +# CONFIG_MBEDTLS_BLOWFISH_C is not set +# CONFIG_MBEDTLS_XTEA_C is not set +CONFIG_MBEDTLS_CCM_C=y +CONFIG_MBEDTLS_GCM_C=y +# CONFIG_MBEDTLS_NIST_KW_C is not set +# end of Symmetric Ciphers + +# CONFIG_MBEDTLS_RIPEMD160_C is not set + +# +# Certificates +# +CONFIG_MBEDTLS_PEM_PARSE_C=y +CONFIG_MBEDTLS_PEM_WRITE_C=y +CONFIG_MBEDTLS_X509_CRL_PARSE_C=y +CONFIG_MBEDTLS_X509_CSR_PARSE_C=y +# end of Certificates + +CONFIG_MBEDTLS_ECP_C=y +CONFIG_MBEDTLS_PK_PARSE_EC_EXTENDED=y +CONFIG_MBEDTLS_PK_PARSE_EC_COMPRESSED=y +# CONFIG_MBEDTLS_DHM_C is not set +CONFIG_MBEDTLS_ECDH_C=y +CONFIG_MBEDTLS_ECDSA_C=y +# CONFIG_MBEDTLS_ECJPAKE_C is not set +CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y +CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y +CONFIG_MBEDTLS_ECP_NIST_OPTIM=y +# CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM is not set +# CONFIG_MBEDTLS_POLY1305_C is not set +# CONFIG_MBEDTLS_CHACHA20_C is not set +# CONFIG_MBEDTLS_HKDF_C is not set +# CONFIG_MBEDTLS_THREADING_C is not set +CONFIG_MBEDTLS_ERROR_STRINGS=y +CONFIG_MBEDTLS_FS_IO=y +# CONFIG_MBEDTLS_ALLOW_WEAK_CERTIFICATE_VERIFICATION is not set +# end of mbedTLS + +# +# ESP-MQTT Configurations +# +CONFIG_MQTT_PROTOCOL_311=y +# CONFIG_MQTT_PROTOCOL_5 is not set +CONFIG_MQTT_TRANSPORT_SSL=y +CONFIG_MQTT_TRANSPORT_WEBSOCKET=y +CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y +# CONFIG_MQTT_MSG_ID_INCREMENTAL is not set +# CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED is not set +# CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set +# CONFIG_MQTT_USE_CUSTOM_CONFIG is not set +# CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set +# CONFIG_MQTT_CUSTOM_OUTBOX is not set +# end of ESP-MQTT Configurations + +# +# LibC +# +CONFIG_LIBC_NEWLIB=y +CONFIG_LIBC_MISC_IN_IRAM=y +CONFIG_LIBC_LOCKS_PLACE_IN_IRAM=y +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=y +# CONFIG_LIBC_STDOUT_LINE_ENDING_LF is not set +# CONFIG_LIBC_STDOUT_LINE_ENDING_CR is not set +# CONFIG_LIBC_STDIN_LINE_ENDING_CRLF is not set +# CONFIG_LIBC_STDIN_LINE_ENDING_LF is not set +CONFIG_LIBC_STDIN_LINE_ENDING_CR=y +# CONFIG_LIBC_NEWLIB_NANO_FORMAT is not set +CONFIG_LIBC_TIME_SYSCALL_USE_RTC_HRT=y +# CONFIG_LIBC_TIME_SYSCALL_USE_RTC is not set +# CONFIG_LIBC_TIME_SYSCALL_USE_HRT is not set +# CONFIG_LIBC_TIME_SYSCALL_USE_NONE is not set +# CONFIG_LIBC_OPTIMIZED_MISALIGNED_ACCESS is not set +# end of LibC + +# +# NVS +# +# CONFIG_NVS_ENCRYPTION is not set +# CONFIG_NVS_ASSERT_ERROR_CHECK is not set +# CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set +# end of NVS + +# +# OpenThread +# +# CONFIG_OPENTHREAD_ENABLED is not set + +# +# OpenThread Spinel +# +# CONFIG_OPENTHREAD_SPINEL_ONLY is not set +# end of OpenThread Spinel +# end of OpenThread + +# +# Protocomm +# +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_PATCH_VERSION=y +# end of Protocomm + +# +# PThreads +# +CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_PTHREAD_STACK_MIN=768 +CONFIG_PTHREAD_DEFAULT_CORE_NO_AFFINITY=y +# CONFIG_PTHREAD_DEFAULT_CORE_0 is not set +# CONFIG_PTHREAD_DEFAULT_CORE_1 is not set +CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" +# end of PThreads + +# +# MMU Config +# +CONFIG_MMU_PAGE_SIZE_64KB=y +CONFIG_MMU_PAGE_MODE="64KB" +CONFIG_MMU_PAGE_SIZE=0x10000 +# end of MMU Config + +# +# Main Flash configuration +# + +# +# SPI Flash behavior when brownout +# +CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y +CONFIG_SPI_FLASH_BROWNOUT_RESET=y +# end of SPI Flash behavior when brownout + +# +# Optional and Experimental Features (READ DOCS FIRST) +# + +# +# Features here require specific hardware (READ DOCS FIRST!) +# +# CONFIG_SPI_FLASH_HPM_ENA is not set +CONFIG_SPI_FLASH_HPM_AUTO=y +# CONFIG_SPI_FLASH_HPM_DIS is not set +CONFIG_SPI_FLASH_HPM_ON=y +CONFIG_SPI_FLASH_HPM_DC_AUTO=y +# CONFIG_SPI_FLASH_HPM_DC_DISABLE is not set +# CONFIG_SPI_FLASH_AUTO_SUSPEND is not set +CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 +# CONFIG_SPI_FLASH_FORCE_ENABLE_XMC_C_SUSPEND is not set +# CONFIG_SPI_FLASH_FORCE_ENABLE_C6_H2_SUSPEND is not set +CONFIG_SPI_FLASH_PLACE_FUNCTIONS_IN_IRAM=y +# end of Optional and Experimental Features (READ DOCS FIRST) +# end of Main Flash configuration + +# +# SPI Flash driver +# +# CONFIG_SPI_FLASH_VERIFY_WRITE is not set +# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y +CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set +# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y +CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 +CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 +CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192 +# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set +# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set +# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set + +# +# Auto-detect flash chips +# +CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORT_ENABLED=y +CONFIG_SPI_FLASH_VENDOR_GD_SUPPORT_ENABLED=y +# CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP is not set +CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y +# CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set +# CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set +# end of Auto-detect flash chips + +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y +# end of SPI Flash driver + +# +# SPIFFS Configuration +# +CONFIG_SPIFFS_MAX_PARTITIONS=3 + +# +# SPIFFS Cache Configuration +# +CONFIG_SPIFFS_CACHE=y +CONFIG_SPIFFS_CACHE_WR=y +# CONFIG_SPIFFS_CACHE_STATS is not set +# end of SPIFFS Cache Configuration + +CONFIG_SPIFFS_PAGE_CHECK=y +CONFIG_SPIFFS_GC_MAX_RUNS=10 +# CONFIG_SPIFFS_GC_STATS is not set +CONFIG_SPIFFS_PAGE_SIZE=256 +CONFIG_SPIFFS_OBJ_NAME_LEN=32 +# CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set +CONFIG_SPIFFS_USE_MAGIC=y +CONFIG_SPIFFS_USE_MAGIC_LENGTH=y +CONFIG_SPIFFS_META_LENGTH=4 +CONFIG_SPIFFS_USE_MTIME=y + +# +# Debug Configuration +# +# CONFIG_SPIFFS_DBG is not set +# CONFIG_SPIFFS_API_DBG is not set +# CONFIG_SPIFFS_GC_DBG is not set +# CONFIG_SPIFFS_CACHE_DBG is not set +# CONFIG_SPIFFS_CHECK_DBG is not set +# CONFIG_SPIFFS_TEST_VISUALISATION is not set +# end of Debug Configuration +# end of SPIFFS Configuration + +# +# TCP Transport +# + +# +# Websocket +# +CONFIG_WS_TRANSPORT=y +CONFIG_WS_BUFFER_SIZE=1024 +# CONFIG_WS_DYNAMIC_BUFFER is not set +# end of Websocket +# end of TCP Transport + +# +# Ultra Low Power (ULP) Co-processor +# +# CONFIG_ULP_COPROC_ENABLED is not set + +# +# ULP Debugging Options +# +# end of ULP Debugging Options +# end of Ultra Low Power (ULP) Co-processor + +# +# Unity unit testing library +# +CONFIG_UNITY_ENABLE_FLOAT=y +CONFIG_UNITY_ENABLE_DOUBLE=y +# CONFIG_UNITY_ENABLE_64BIT is not set +# CONFIG_UNITY_ENABLE_COLOR is not set +CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y +# CONFIG_UNITY_ENABLE_FIXTURE is not set +# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set +# CONFIG_UNITY_TEST_ORDER_BY_FILE_PATH_AND_LINE is not set +# end of Unity unit testing library + +# +# USB-OTG +# +CONFIG_USB_HOST_CONTROL_TRANSFER_MAX_SIZE=256 +CONFIG_USB_HOST_HW_BUFFER_BIAS_BALANCED=y +# CONFIG_USB_HOST_HW_BUFFER_BIAS_IN is not set +# CONFIG_USB_HOST_HW_BUFFER_BIAS_PERIODIC_OUT is not set + +# +# Hub Driver Configuration +# + +# +# Root Port configuration +# +CONFIG_USB_HOST_DEBOUNCE_DELAY_MS=250 +CONFIG_USB_HOST_RESET_HOLD_MS=30 +CONFIG_USB_HOST_RESET_RECOVERY_MS=30 +CONFIG_USB_HOST_SET_ADDR_RECOVERY_MS=10 +# end of Root Port configuration + +# CONFIG_USB_HOST_HUBS_SUPPORTED is not set +# end of Hub Driver Configuration + +# CONFIG_USB_HOST_ENABLE_ENUM_FILTER_CALLBACK is not set +CONFIG_USB_OTG_SUPPORTED=y +# end of USB-OTG + +# +# Virtual file system +# +CONFIG_VFS_SUPPORT_IO=y +CONFIG_VFS_SUPPORT_DIR=y +CONFIG_VFS_SUPPORT_SELECT=y +CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y +# CONFIG_VFS_SELECT_IN_RAM is not set +CONFIG_VFS_SUPPORT_TERMIOS=y +CONFIG_VFS_MAX_COUNT=8 + +# +# Host File System I/O (Semihosting) +# +CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +# end of Host File System I/O (Semihosting) + +CONFIG_VFS_INITIALIZE_DEV_NULL=y +# end of Virtual file system + +# +# Wear Levelling +# +# CONFIG_WL_SECTOR_SIZE_512 is not set +CONFIG_WL_SECTOR_SIZE_4096=y +CONFIG_WL_SECTOR_SIZE=4096 +# end of Wear Levelling + +# +# Wi-Fi Provisioning Manager +# +CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 +CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 +CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y +# CONFIG_WIFI_PROV_STA_FAST_SCAN is not set +# end of Wi-Fi Provisioning Manager + +# +# LVGL configuration +# +CONFIG_LV_CONF_SKIP=y +# CONFIG_LV_CONF_MINIMAL is not set + +# +# Color settings +# +# CONFIG_LV_COLOR_DEPTH_32 is not set +CONFIG_LV_COLOR_DEPTH_16=y +# CONFIG_LV_COLOR_DEPTH_8 is not set +# CONFIG_LV_COLOR_DEPTH_1 is not set +CONFIG_LV_COLOR_DEPTH=16 +# CONFIG_LV_COLOR_16_SWAP is not set +# CONFIG_LV_COLOR_SCREEN_TRANSP is not set +CONFIG_LV_COLOR_MIX_ROUND_OFS=128 +CONFIG_LV_COLOR_CHROMA_KEY_HEX=0x00FF00 +# end of Color settings + +# +# Memory settings +# +# CONFIG_LV_MEM_CUSTOM is not set +CONFIG_LV_MEM_SIZE_KILOBYTES=32 +CONFIG_LV_MEM_ADDR=0x0 +CONFIG_LV_MEM_BUF_MAX_NUM=16 +# CONFIG_LV_MEMCPY_MEMSET_STD is not set +# end of Memory settings + +# +# HAL Settings +# +CONFIG_LV_DISP_DEF_REFR_PERIOD=30 +CONFIG_LV_INDEV_DEF_READ_PERIOD=30 +# CONFIG_LV_TICK_CUSTOM is not set +CONFIG_LV_DPI_DEF=130 +# end of HAL Settings + +# +# Feature configuration +# + +# +# Drawing +# +CONFIG_LV_DRAW_COMPLEX=y +CONFIG_LV_SHADOW_CACHE_SIZE=0 +CONFIG_LV_CIRCLE_CACHE_SIZE=4 +CONFIG_LV_LAYER_SIMPLE_BUF_SIZE=24576 +CONFIG_LV_IMG_CACHE_DEF_SIZE=0 +CONFIG_LV_GRADIENT_MAX_STOPS=2 +CONFIG_LV_GRAD_CACHE_DEF_SIZE=0 +# CONFIG_LV_DITHER_GRADIENT is not set +CONFIG_LV_DISP_ROT_MAX_BUF=10240 +# end of Drawing + +# +# GPU +# +# CONFIG_LV_USE_GPU_ARM2D is not set +# CONFIG_LV_USE_GPU_STM32_DMA2D is not set +# CONFIG_LV_USE_GPU_RA6M3_G2D is not set +# CONFIG_LV_USE_GPU_SWM341_DMA2D is not set +# CONFIG_LV_USE_GPU_NXP_PXP is not set +# CONFIG_LV_USE_GPU_NXP_VG_LITE is not set +# CONFIG_LV_USE_GPU_SDL is not set +# end of GPU + +# +# Logging +# +# CONFIG_LV_USE_LOG is not set +# end of Logging + +# +# Asserts +# +CONFIG_LV_USE_ASSERT_NULL=y +CONFIG_LV_USE_ASSERT_MALLOC=y +# CONFIG_LV_USE_ASSERT_STYLE is not set +# CONFIG_LV_USE_ASSERT_MEM_INTEGRITY is not set +# CONFIG_LV_USE_ASSERT_OBJ is not set +CONFIG_LV_ASSERT_HANDLER_INCLUDE="assert.h" +# end of Asserts + +# +# Others +# +# CONFIG_LV_USE_PERF_MONITOR is not set +# CONFIG_LV_USE_MEM_MONITOR is not set +# CONFIG_LV_USE_REFR_DEBUG is not set +# CONFIG_LV_SPRINTF_CUSTOM is not set +# CONFIG_LV_SPRINTF_USE_FLOAT is not set +CONFIG_LV_USE_USER_DATA=y +# CONFIG_LV_ENABLE_GC is not set +# end of Others + +# +# Compiler settings +# +# CONFIG_LV_BIG_ENDIAN_SYSTEM is not set +CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 +# CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM is not set +# CONFIG_LV_USE_LARGE_COORD is not set +# end of Compiler settings +# end of Feature configuration + +# +# Font usage +# + +# +# Enable built-in fonts +# +# CONFIG_LV_FONT_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_MONTSERRAT_10 is not set +# CONFIG_LV_FONT_MONTSERRAT_12 is not set +CONFIG_LV_FONT_MONTSERRAT_14=y +# CONFIG_LV_FONT_MONTSERRAT_16 is not set +# CONFIG_LV_FONT_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_MONTSERRAT_12_SUBPX is not set +# CONFIG_LV_FONT_MONTSERRAT_28_COMPRESSED is not set +# CONFIG_LV_FONT_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_UNSCII_8 is not set +# CONFIG_LV_FONT_UNSCII_16 is not set +# CONFIG_LV_FONT_CUSTOM is not set +# end of Enable built-in fonts + +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_8 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_12 is not set +CONFIG_LV_FONT_DEFAULT_MONTSERRAT_14=y +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_16 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_18 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_20 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_22 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_24 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_26 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_28 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_30 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_32 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_34 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_36 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_38 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_40 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_42 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_44 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_46 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_48 is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_12_SUBPX is not set +# CONFIG_LV_FONT_DEFAULT_MONTSERRAT_28_COMPRESSED is not set +# CONFIG_LV_FONT_DEFAULT_DEJAVU_16_PERSIAN_HEBREW is not set +# CONFIG_LV_FONT_DEFAULT_SIMSUN_16_CJK is not set +# CONFIG_LV_FONT_DEFAULT_UNSCII_8 is not set +# CONFIG_LV_FONT_DEFAULT_UNSCII_16 is not set +# CONFIG_LV_FONT_FMT_TXT_LARGE is not set +# CONFIG_LV_USE_FONT_COMPRESSED is not set +# CONFIG_LV_USE_FONT_SUBPX is not set +CONFIG_LV_USE_FONT_PLACEHOLDER=y +# end of Font usage + +# +# Text Settings +# +CONFIG_LV_TXT_ENC_UTF8=y +# CONFIG_LV_TXT_ENC_ASCII is not set +CONFIG_LV_TXT_BREAK_CHARS=" ,.;:-_" +CONFIG_LV_TXT_LINE_BREAK_LONG_LEN=0 +CONFIG_LV_TXT_COLOR_CMD="#" +# CONFIG_LV_USE_BIDI is not set +# CONFIG_LV_USE_ARABIC_PERSIAN_CHARS is not set +# end of Text Settings + +# +# Widget usage +# +CONFIG_LV_USE_ARC=y +CONFIG_LV_USE_BAR=y +CONFIG_LV_USE_BTN=y +CONFIG_LV_USE_BTNMATRIX=y +CONFIG_LV_USE_CANVAS=y +CONFIG_LV_USE_CHECKBOX=y +CONFIG_LV_USE_DROPDOWN=y +CONFIG_LV_USE_IMG=y +CONFIG_LV_USE_LABEL=y +CONFIG_LV_LABEL_TEXT_SELECTION=y +CONFIG_LV_LABEL_LONG_TXT_HINT=y +CONFIG_LV_USE_LINE=y +CONFIG_LV_USE_ROLLER=y +CONFIG_LV_ROLLER_INF_PAGES=7 +CONFIG_LV_USE_SLIDER=y +CONFIG_LV_USE_SWITCH=y +CONFIG_LV_USE_TEXTAREA=y +CONFIG_LV_TEXTAREA_DEF_PWD_SHOW_TIME=1500 +CONFIG_LV_USE_TABLE=y +# end of Widget usage + +# +# Extra Widgets +# +CONFIG_LV_USE_ANIMIMG=y +CONFIG_LV_USE_CALENDAR=y +# CONFIG_LV_CALENDAR_WEEK_STARTS_MONDAY is not set +CONFIG_LV_USE_CALENDAR_HEADER_ARROW=y +CONFIG_LV_USE_CALENDAR_HEADER_DROPDOWN=y +CONFIG_LV_USE_CHART=y +CONFIG_LV_USE_COLORWHEEL=y +CONFIG_LV_USE_IMGBTN=y +CONFIG_LV_USE_KEYBOARD=y +CONFIG_LV_USE_LED=y +CONFIG_LV_USE_LIST=y +CONFIG_LV_USE_MENU=y +CONFIG_LV_USE_METER=y +CONFIG_LV_USE_MSGBOX=y +CONFIG_LV_USE_SPAN=y +CONFIG_LV_SPAN_SNIPPET_STACK_SIZE=64 +CONFIG_LV_USE_SPINBOX=y +CONFIG_LV_USE_SPINNER=y +CONFIG_LV_USE_TABVIEW=y +CONFIG_LV_USE_TILEVIEW=y +CONFIG_LV_USE_WIN=y +# end of Extra Widgets + +# +# Themes +# +CONFIG_LV_USE_THEME_DEFAULT=y +# CONFIG_LV_THEME_DEFAULT_DARK is not set +CONFIG_LV_THEME_DEFAULT_GROW=y +CONFIG_LV_THEME_DEFAULT_TRANSITION_TIME=80 +CONFIG_LV_USE_THEME_BASIC=y +# CONFIG_LV_USE_THEME_MONO is not set +# end of Themes + +# +# Layouts +# +CONFIG_LV_USE_FLEX=y +CONFIG_LV_USE_GRID=y +# end of Layouts + +# +# 3rd Party Libraries +# +# CONFIG_LV_USE_FS_STDIO is not set +# CONFIG_LV_USE_FS_POSIX is not set +# CONFIG_LV_USE_FS_WIN32 is not set +# CONFIG_LV_USE_FS_FATFS is not set +# CONFIG_LV_USE_FS_LITTLEFS is not set +# CONFIG_LV_USE_PNG is not set +# CONFIG_LV_USE_BMP is not set +# CONFIG_LV_USE_SJPG is not set +# CONFIG_LV_USE_GIF is not set +# CONFIG_LV_USE_QRCODE is not set +# CONFIG_LV_USE_FREETYPE is not set +# CONFIG_LV_USE_TINY_TTF is not set +# CONFIG_LV_USE_RLOTTIE is not set +# CONFIG_LV_USE_FFMPEG is not set +# end of 3rd Party Libraries + +# +# Others +# +CONFIG_LV_USE_SNAPSHOT=y +# CONFIG_LV_USE_MONKEY is not set +# CONFIG_LV_USE_GRIDNAV is not set +# CONFIG_LV_USE_FRAGMENT is not set +# CONFIG_LV_USE_IMGFONT is not set +# CONFIG_LV_USE_MSG is not set +# CONFIG_LV_USE_IME_PINYIN is not set +# end of Others + +# +# Examples +# +CONFIG_LV_BUILD_EXAMPLES=y +# end of Examples + +# +# Demos +# +# CONFIG_LV_USE_DEMO_WIDGETS is not set +# CONFIG_LV_USE_DEMO_KEYPAD_AND_ENCODER is not set +# CONFIG_LV_USE_DEMO_BENCHMARK is not set +# CONFIG_LV_USE_DEMO_STRESS is not set +# CONFIG_LV_USE_DEMO_MUSIC is not set +# end of Demos +# end of LVGL configuration + +# +# LVGL ESP Drivers +# + +# +# LVGL TFT Display controller +# +CONFIG_LV_PREDEFINED_DISPLAY_NONE=y +# CONFIG_LV_PREDEFINED_DISPLAY_WROVER4 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5STACK is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5CORE2 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5STICK is not set +# CONFIG_LV_PREDEFINED_DISPLAY_M5STICKC is not set +# CONFIG_LV_PREDEFINED_DISPLAY_ERTFT0356 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_ADA_FEATHERWING is not set +# CONFIG_LV_PREDEFINED_DISPLAY_RPI_MPI3501 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_WEMOS_LOLIN is not set +# CONFIG_LV_PREDEFINED_DISPLAY_ATAG is not set +# CONFIG_LV_PREDEFINED_DISPLAY_RPI_RA8875 is not set +# CONFIG_LV_PREDEFINED_DISPLAY_TTGO is not set +# CONFIG_LV_PREDEFINED_DISPLAY_TTGO_CAMERA_PLUS is not set +# CONFIG_LV_PREDEFINED_DISPLAY_WT32_SC01 is not set +CONFIG_LV_TFT_DISPLAY_CONTROLLER_ILI9341=y +CONFIG_LV_TFT_DISPLAY_PROTOCOL_SPI=y +CONFIG_LV_HOR_RES_MAX=128 +CONFIG_LV_VER_RES_MAX=64 +CONFIG_LV_DISPLAY_ORIENTATION_PORTRAIT=y +# CONFIG_LV_DISPLAY_ORIENTATION_PORTRAIT_INVERTED is not set +# CONFIG_LV_DISPLAY_ORIENTATION_LANDSCAPE is not set +# CONFIG_LV_DISPLAY_ORIENTATION_LANDSCAPE_INVERTED is not set +CONFIG_LV_DISPLAY_ORIENTATION=0 +CONFIG_LV_PREDEFINED_PINS_NONE=y +# CONFIG_LV_PREDEFINED_PINS_38V4 is not set +# CONFIG_LV_PREDEFINED_PINS_30 is not set +# CONFIG_LV_PREDEFINED_PINS_38V1 is not set +# CONFIG_LV_PREDEFINED_PINS_TKOALA is not set +CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9341=y +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9481 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9486 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9488 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7789 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7796S is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_GC9A01 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ST7735S is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_HX8357 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_SH1107 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_SSD1306 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_FT81X is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_IL3820 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_JD79653A is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_UC8151D is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_RA8875 is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_ILI9163C is not set +# CONFIG_LV_TFT_DISPLAY_USER_CONTROLLER_PCD8544 is not set +# CONFIG_CUSTOM_DISPLAY_BUFFER_SIZE is not set +CONFIG_LV_TFT_DISPLAY_SPI2_HOST=y +# CONFIG_LV_TFT_DISPLAY_SPI3_HOST is not set +CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_SIO=y +# CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_DIO is not set +# CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_QIO is not set +CONFIG_LV_TFT_DISPLAY_SPI_HALF_DUPLEX=y +# CONFIG_LV_TFT_DISPLAY_SPI_FULL_DUPLEX is not set +# CONFIG_LV_TFT_USE_CUSTOM_SPI_CLK_DIVIDER is not set +CONFIG_LV_TFT_CUSTOM_SPI_CLK_DIVIDER=2 +# CONFIG_LV_INVERT_COLORS is not set + +# +# Display Pin Assignments +# +CONFIG_LV_DISP_SPI_MOSI=13 +# CONFIG_LV_DISPLAY_USE_SPI_MISO is not set +CONFIG_LV_DISP_SPI_CLK=14 +CONFIG_LV_DISPLAY_USE_SPI_CS=y +CONFIG_LV_DISP_SPI_CS=15 +CONFIG_LV_DISPLAY_USE_DC=y +CONFIG_LV_DISP_PIN_DC=2 +CONFIG_LV_DISP_USE_RST=y +CONFIG_LV_DISP_PIN_RST=4 +# end of Display Pin Assignments + +# CONFIG_LV_DISP_BACKLIGHT_OFF is not set +CONFIG_LV_DISP_BACKLIGHT_SWITCH=y +# CONFIG_LV_DISP_BACKLIGHT_PWM is not set +# CONFIG_LV_BACKLIGHT_ACTIVE_LVL is not set +CONFIG_LV_DISP_PIN_BCKL=-1 +CONFIG_LV_I2C_DISPLAY_PORT=0 +# end of LVGL TFT Display controller + +# +# LVGL Touch controller +# +CONFIG_LV_TOUCH_CONTROLLER=0 +CONFIG_LV_TOUCH_CONTROLLER_NONE=y +# CONFIG_LV_TOUCH_CONTROLLER_XPT2046 is not set +# CONFIG_LV_TOUCH_CONTROLLER_FT6X06 is not set +# CONFIG_LV_TOUCH_CONTROLLER_STMPE610 is not set +# CONFIG_LV_TOUCH_CONTROLLER_ADCRAW is not set +# CONFIG_LV_TOUCH_CONTROLLER_FT81X is not set +# CONFIG_LV_TOUCH_CONTROLLER_RA8875 is not set +# CONFIG_LV_TOUCH_CONTROLLER_GT911 is not set +# CONFIG_LV_TOUCH_CONTROLLER_CST820 is not set +CONFIG_LV_I2C_TOUCH_PORT=0 +# end of LVGL Touch controller +# end of LVGL ESP Drivers + +# +# mDNS +# +CONFIG_MDNS_MAX_INTERFACES=3 +CONFIG_MDNS_MAX_SERVICES=10 +CONFIG_MDNS_TASK_PRIORITY=1 +CONFIG_MDNS_ACTION_QUEUE_LEN=16 +CONFIG_MDNS_TASK_STACK_SIZE=4096 +# CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY is not set +CONFIG_MDNS_TASK_AFFINITY_CPU0=y +# CONFIG_MDNS_TASK_AFFINITY_CPU1 is not set +CONFIG_MDNS_TASK_AFFINITY=0x0 +CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000 +CONFIG_MDNS_TIMER_PERIOD_MS=100 +# CONFIG_MDNS_NETWORKING_SOCKET is not set +# CONFIG_MDNS_SKIP_SUPPRESSING_OWN_QUERIES is not set +# CONFIG_MDNS_ENABLE_DEBUG_PRINTS is not set +CONFIG_MDNS_ENABLE_CONSOLE_CLI=y +# CONFIG_MDNS_RESPOND_REVERSE_QUERIES is not set +CONFIG_MDNS_MULTIPLE_INSTANCE=y + +# +# MDNS Predefined interfaces +# +CONFIG_MDNS_PREDEF_NETIF_STA=y +CONFIG_MDNS_PREDEF_NETIF_AP=y +CONFIG_MDNS_PREDEF_NETIF_ETH=y +# end of MDNS Predefined interfaces +# end of mDNS + +# +# CMake Utilities +# +# CONFIG_CU_RELINKER_ENABLE is not set +# CONFIG_CU_DIAGNOSTICS_COLOR_NEVER is not set +CONFIG_CU_DIAGNOSTICS_COLOR_ALWAYS=y +# CONFIG_CU_DIAGNOSTICS_COLOR_AUTO is not set +# CONFIG_CU_GCC_LTO_ENABLE is not set +# CONFIG_CU_GCC_STRING_1BYTE_ALIGN is not set +# end of CMake Utilities + +# +# ESP LCD TOUCH +# +CONFIG_ESP_LCD_TOUCH_MAX_POINTS=5 +CONFIG_ESP_LCD_TOUCH_MAX_BUTTONS=1 +# end of ESP LCD TOUCH +# end of Component config + +# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set + +# Deprecated options for backward compatibility +# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set +# CONFIG_NO_BLOBS is not set +# CONFIG_APP_ROLLBACK_ENABLE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set +CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y +# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set +CONFIG_LOG_BOOTLOADER_LEVEL=3 +# CONFIG_FLASH_ENCRYPTION_ENABLED is not set +# CONFIG_FLASHMODE_QIO is not set +# CONFIG_FLASHMODE_QOUT is not set +CONFIG_FLASHMODE_DIO=y +# CONFIG_FLASHMODE_DOUT is not set +CONFIG_MONITOR_BAUD=115200 +# CONFIG_OPTIMIZATION_LEVEL_DEBUG is not set +# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set +# CONFIG_COMPILER_OPTIMIZATION_DEFAULT is not set +CONFIG_OPTIMIZATION_LEVEL_RELEASE=y +CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE=y +CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y +# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set +CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2 +# CONFIG_CXX_EXCEPTIONS is not set +CONFIG_STACK_CHECK_NONE=y +# CONFIG_STACK_CHECK_NORM is not set +# CONFIG_STACK_CHECK_STRONG is not set +# CONFIG_STACK_CHECK_ALL is not set +# CONFIG_WARN_WRITE_STRINGS is not set +# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set +CONFIG_ESP32_APPTRACE_DEST_NONE=y +CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y +# CONFIG_ANA_CMPR_ISR_IRAM_SAFE is not set +# CONFIG_CAM_CTLR_MIPI_CSI_ISR_IRAM_SAFE is not set +# CONFIG_CAM_CTLR_ISP_DVP_ISR_IRAM_SAFE is not set +# CONFIG_CAM_CTLR_DVP_CAM_ISR_IRAM_SAFE is not set +# CONFIG_GPTIMER_ISR_IRAM_SAFE is not set +# CONFIG_MCPWM_ISR_IRAM_SAFE is not set +# CONFIG_EVENT_LOOP_PROFILING is not set +CONFIG_POST_EVENTS_FROM_ISR=y +CONFIG_POST_EVENTS_FROM_IRAM_ISR=y +CONFIG_GDBSTUB_SUPPORT_TASKS=y +CONFIG_GDBSTUB_MAX_TASKS=32 +# CONFIG_OTA_ALLOW_HTTP is not set +CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y +CONFIG_BROWNOUT_DET=y +CONFIG_BROWNOUT_DET_LVL_SEL_7=y +# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set +CONFIG_BROWNOUT_DET_LVL=7 +CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y +CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_MAIN_TASK_STACK_SIZE=3584 +CONFIG_CONSOLE_UART_DEFAULT=y +# CONFIG_CONSOLE_UART_CUSTOM is not set +# CONFIG_CONSOLE_UART_NONE is not set +# CONFIG_ESP_CONSOLE_UART_NONE is not set +CONFIG_CONSOLE_UART=y +CONFIG_CONSOLE_UART_NUM=0 +CONFIG_CONSOLE_UART_BAUDRATE=115200 +CONFIG_INT_WDT=y +CONFIG_INT_WDT_TIMEOUT_MS=300 +CONFIG_INT_WDT_CHECK_CPU1=y +CONFIG_TASK_WDT=y +CONFIG_ESP_TASK_WDT=y +# CONFIG_TASK_WDT_PANIC is not set +CONFIG_TASK_WDT_TIMEOUT_S=5 +CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1=y +# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set +CONFIG_IPC_TASK_STACK_SIZE=1024 +CONFIG_TIMER_TASK_STACK_SIZE=3584 +# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set +CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y +CONFIG_TIMER_TASK_PRIORITY=1 +CONFIG_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_TIMER_QUEUE_LENGTH=10 +# CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set +# CONFIG_HAL_ASSERTION_SILIENT is not set +# CONFIG_L2_TO_L3_COPY is not set +CONFIG_ESP_GRATUITOUS_ARP=y +CONFIG_GARP_TMR_INTERVAL=60 +CONFIG_TCPIP_RECVMBOX_SIZE=32 +CONFIG_TCP_MAXRTX=12 +CONFIG_TCP_SYNMAXRTX=12 +CONFIG_TCP_MSS=1440 +CONFIG_TCP_MSL=60000 +CONFIG_TCP_SND_BUF_DEFAULT=5760 +CONFIG_TCP_WND_DEFAULT=5760 +CONFIG_TCP_RECVMBOX_SIZE=6 +CONFIG_TCP_QUEUE_OOSEQ=y +CONFIG_TCP_OVERSIZE_MSS=y +# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_TCP_OVERSIZE_DISABLE is not set +CONFIG_UDP_RECVMBOX_SIZE=6 +CONFIG_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set +# CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set +CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# CONFIG_PPP_SUPPORT is not set +CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set +CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y +# CONFIG_NEWLIB_NANO_FORMAT is not set +CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y +# CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set +CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_ESP32_PTHREAD_STACK_MIN=768 +CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y +# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0 is not set +# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1 is not set +CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" +CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set +CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y +CONFIG_SUPPORT_TERMIOS=y +CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +# End of deprecated options diff --git a/include/core/callbacks.h b/include/core/callbacks.h index 189e495f8..a860786e5 100644 --- a/include/core/callbacks.h +++ b/include/core/callbacks.h @@ -1,12 +1,15 @@ #ifndef CALLBACKS_H #define CALLBACKS_H +#if !defined(CONFIG_IDF_TARGET_ESP32P4) #include "esp_wifi_types.h" +#endif #include "freertos/FreeRTOS.h" #include "freertos/task.h" #include "vendor/GPS/MicroNMEA.h" #include #include +#if !defined(CONFIG_IDF_TARGET_ESP32P4) #define MAX_PINEAP_NETWORKS 20 #define MAX_SSIDS_PER_BSSID 10 #define RECENT_SSID_COUNT 5 @@ -55,16 +58,17 @@ void wifi_listen_probes_callback(void *buf, wifi_promiscuous_pkt_type_t type); void wifi_raw_scan_callback(void *buf, wifi_promiscuous_pkt_type_t type); void wifi_eapol_scan_callback(void *buf, wifi_promiscuous_pkt_type_t type); void wardriving_scan_callback(void *buf, wifi_promiscuous_pkt_type_t type); -#ifndef CONFIG_IDF_TARGET_ESP32S2 +void wifi_stations_sniffer_callback(void *buf, wifi_promiscuous_pkt_type_t type); +#endif +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) #include "host/ble_gap.h" void ble_wardriving_callback(struct ble_gap_event *event, void *arg); void ble_skimmer_scan_callback(struct ble_gap_event *event, void *arg); #endif void gps_event_handler(void *event_handler_arg, esp_event_base_t event_base, int32_t event_id, void *event_data); -void wifi_stations_sniffer_callback(void *buf, - wifi_promiscuous_pkt_type_t type); +#if !defined(CONFIG_IDF_TARGET_ESP32P4) typedef enum { WPS_MODE_NONE = 0, // No WPS support WPS_MODE_PBC, // Push Button Configuration (PBC) @@ -78,7 +82,6 @@ typedef struct { wps_modes_t wps_mode; // WPS mode (PIN or PBC) } wps_network_t; -extern gps_t *gps; extern wps_network_t detected_wps_networks[MAX_WPS_NETWORKS]; extern int detected_network_count; extern esp_timer_handle_t stop_timer; @@ -87,6 +90,9 @@ static uint8_t router_ip[4]; // Controls whether probe listening writes PCAP data to SD (no UART fallback) extern bool g_listen_probes_save_to_sd; +#endif + +extern gps_t *gps; // cleanup function to free pcap queue when not capturing void cleanup_pcap_queue(void); diff --git a/include/managers/ble_manager.h b/include/managers/ble_manager.h index d87cc2a79..596d5b1f9 100644 --- a/include/managers/ble_manager.h +++ b/include/managers/ble_manager.h @@ -14,7 +14,7 @@ 20 // Length of the payload to compare for similarity #define TIME_WINDOW_MS 3000 -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) struct ble_gap_event; diff --git a/main/core/callbacks.c b/main/core/callbacks.c index 559cc8625..9c22cee93 100644 --- a/main/core/callbacks.c +++ b/main/core/callbacks.c @@ -1,9 +1,11 @@ #include "core/callbacks.h" +#if !defined(CONFIG_IDF_TARGET_ESP32P4) #include "esp_wifi.h" +#include "managers/wifi_manager.h" +#endif #include "managers/gps_manager.h" #include "managers/rgb_manager.h" #include "managers/views/terminal_screen.h" -#include "managers/wifi_manager.h" #include "core/utils.h" #include "vendor/GPS/gps_logger.h" #include "vendor/pcap.h" @@ -16,12 +18,16 @@ #include // For esp_timer_get_time #include "freertos/task.h" +#if !defined(CONFIG_IDF_TARGET_ESP32P4) // prototypes for static inline helpers static inline bool is_packet_valid(const wifi_promiscuous_pkt_t *pkt, wifi_promiscuous_pkt_type_t type); static inline bool is_on_target_channel(const wifi_promiscuous_pkt_t *pkt, uint8_t target_channel); +#endif #define STORE_STR_ATTR __attribute__((section(".rodata.str"))) #define STORE_DATA_ATTR __attribute__((section(".rodata.data"))) + +#if !defined(CONFIG_IDF_TARGET_ESP32P4) #define WPS_OUI 0x0050f204 #define TAG "WIFI_MONITOR" #define WPS_CONF_METHODS_PBC 0x0080 @@ -62,7 +68,8 @@ static void trim_trailing(char *str); static bool compare_bssid(const uint8_t *bssid1, const uint8_t *bssid2); static bool is_beacon_packet(const wifi_promiscuous_pkt_t *pkt); static pineap_network_t *find_or_create_network(const uint8_t *bssid); -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#endif +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) #endif // handshake pairing and limited beacon emission for eapol capture @@ -138,6 +145,7 @@ static beacon_limiter_t beacon_limits[BEACON_LIMIT_MAX]; static uint8_t beacon_limit_count = 0; static uint8_t beacon_limit_insert = 0; +#if !defined(CONFIG_IDF_TARGET_ESP32P4) // probe request dedupe to keep files small #define PROBE_DEDUPE_MAX 64 typedef struct { @@ -173,7 +181,9 @@ static bool probe_should_emit(const uint8_t *src, uint32_t ssid_hash, uint64_t n ne->last_ms = now_ms; return true; } +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) +#if !defined(CONFIG_IDF_TARGET_ESP32P4) static bool beacon_should_emit_limited(const uint8_t *bssid, bool ssid_has_text) { for (uint8_t i = 0; i < beacon_limit_count; i++) { if (mac_equal(beacon_limits[i].bssid, bssid)) { @@ -201,6 +211,7 @@ static bool beacon_should_emit_limited(const uint8_t *bssid, bool ssid_has_text) beacon_limits[idx].saw_nonempty_ssid = ssid_has_text; return true; } +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) // queued writer to avoid heavy work in promiscuous callback typedef struct { @@ -283,6 +294,7 @@ void cleanup_pcap_queue(void) { } } +#if !defined(CONFIG_IDF_TARGET_ESP32P4) static const char *suspicious_names[] STORE_DATA_ATTR = { "HC-03", "HC-05", "HC-06", "HC-08", "BT-HC05", "JDY-31", "AT-09", "HM-10", "CC41-A", "MLT-BT05", "SPP-CA", "FFD0"}; @@ -291,7 +303,9 @@ wps_network_t detected_wps_networks[MAX_WPS_NETWORKS]; int detected_network_count = 0; esp_timer_handle_t stop_timer; int should_store_wps = 1; +#endif gps_t *gps = NULL; +#if !defined(CONFIG_IDF_TARGET_ESP32P4) typedef struct { uint8_t bssid[6]; time_t detection_time; @@ -300,7 +314,9 @@ typedef struct { static blacklisted_ap_t blacklist[MAX_PINEAP_NETWORKS]; static int blacklist_count = 0; +#endif +#if !defined(CONFIG_IDF_TARGET_ESP32P4) static bool is_blacklisted(const uint8_t *bssid) { for (int i = 0; i < blacklist_count; i++) { if (memcmp(blacklist[i].bssid, bssid, 6) == 0) { @@ -466,12 +482,14 @@ void start_wardriving(void) { void stop_wardriving(void) { stop_wardrive_channel_hopping(); } +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) #define IRAM_PRINTF(fmt, ...) do { \ static const char flash_fmt[] STORE_STR_ATTR = fmt; \ esp_rom_printf(flash_fmt, ##__VA_ARGS__); \ } while(0) +#if !defined(CONFIG_IDF_TARGET_ESP32P4) void log_pineap_detection(void *arg) { pineap_log_data_t *log_data = (pineap_log_data_t *)arg; pineap_network_t *network = log_data->network; @@ -585,7 +603,9 @@ static bool is_valid_unique_ssid(const char *new_ssid, pineap_network_t *network return true; } +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) +#if !defined(CONFIG_IDF_TARGET_ESP32P4) void wifi_pineap_detector_callback(void *buf, wifi_promiscuous_pkt_type_t type) { if (!pineap_detection_active || type != WIFI_PKT_MGMT) return; @@ -695,6 +715,7 @@ static void trim_trailing(char *str) { i--; } } +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) void gps_event_handler(void *event_handler_arg, esp_event_base_t event_base, int32_t event_id, void *event_data) { @@ -707,6 +728,7 @@ void gps_event_handler(void *event_handler_arg, esp_event_base_t event_base, int } } +#if !defined(CONFIG_IDF_TARGET_ESP32P4) bool compare_bssid(const uint8_t *bssid1, const uint8_t *bssid2) { for (int i = 0; i < 6; i++) { if (bssid1[i] != bssid2[i]) { @@ -725,7 +747,9 @@ bool is_network_duplicate(const char *ssid, const uint8_t *bssid) { } return false; } +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) +#if !defined(CONFIG_IDF_TARGET_ESP32P4) void get_frame_type_and_subtype(const wifi_promiscuous_pkt_t *pkt, uint8_t *frame_type, uint8_t *frame_subtype) { if (pkt->rx_ctrl.sig_len < 24) { @@ -739,7 +763,9 @@ void get_frame_type_and_subtype(const wifi_promiscuous_pkt_t *pkt, uint8_t *fram *frame_type = (frame_ctrl[0] & 0x0C) >> 2; *frame_subtype = (frame_ctrl[0] & 0xF0) >> 4; } +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) +#if !defined(CONFIG_IDF_TARGET_ESP32P4) bool is_beacon_packet(const wifi_promiscuous_pkt_t *pkt) { uint8_t frame_type, frame_subtype; get_frame_type_and_subtype(pkt, &frame_type, &frame_subtype); @@ -773,7 +799,9 @@ bool is_eapol_response(const wifi_promiscuous_pkt_t *pkt) { return false; } +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) +#if !defined(CONFIG_IDF_TARGET_ESP32P4) bool is_pwn_response(const wifi_promiscuous_pkt_t *pkt) { const uint8_t *frame = pkt->payload; @@ -783,7 +811,9 @@ bool is_pwn_response(const wifi_promiscuous_pkt_t *pkt) { return false; } +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) +#if !defined(CONFIG_IDF_TARGET_ESP32P4) void wifi_raw_scan_callback(void *buf, wifi_promiscuous_pkt_type_t type) { wifi_promiscuous_pkt_t *pkt = (wifi_promiscuous_pkt_t *)buf; @@ -1249,8 +1279,9 @@ void wifi_wps_detection_callback(void *buf, wifi_promiscuous_pkt_type_t type) { index += (2 + ie_len); } } +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) // Forward declare the struct and callback before use struct ble_hs_adv_field; static int ble_hs_adv_parse_fields_cb(const struct ble_hs_adv_field *field, void *arg); @@ -1314,8 +1345,8 @@ static int ble_hs_adv_parse_fields_cb(const struct ble_hs_adv_field *field, void } #endif -// wrap for esp32s2 -#ifndef CONFIG_IDF_TARGET_ESP32S2 +// wrap for esp32s2 and esp32p4 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) static const int suspicious_names_count = sizeof(suspicious_names) / sizeof(suspicious_names[0]); void ble_skimmer_scan_callback(struct ble_gap_event *event, void *arg) { @@ -1409,6 +1440,7 @@ static uint32_t packets_filtered_out = 0; static uint32_t packets_processed = 0; // Early filtering helper - checks basic packet validity +#if !defined(CONFIG_IDF_TARGET_ESP32P4) static inline bool is_packet_valid(const wifi_promiscuous_pkt_t *pkt, wifi_promiscuous_pkt_type_t type) { total_packets_received++; @@ -1451,13 +1483,14 @@ static inline bool is_packet_valid(const wifi_promiscuous_pkt_t *pkt, wifi_promi static inline bool is_on_target_channel(const wifi_promiscuous_pkt_t *pkt, uint8_t target_channel) { return (target_channel == 0) || (pkt->rx_ctrl.channel == target_channel); } +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) +#if !defined(CONFIG_IDF_TARGET_ESP32P4) // Flag indicating whether to save probe PCAP data to SD (disable UART fallback if false) bool g_listen_probes_save_to_sd = false; static char last_probe_log[128] = {0}; static uint64_t last_probe_log_time_ms = 0; - void wifi_listen_probes_callback(void *buf, wifi_promiscuous_pkt_type_t type) { // Early filtering for management frames only if (type != WIFI_PKT_MGMT) return; @@ -1525,3 +1558,4 @@ void wifi_listen_probes_callback(void *buf, wifi_promiscuous_pkt_type_t type) { // Print to console and display glog("%s\n", log_msg); } +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) - closes guard from line 816 diff --git a/main/core/commandline.c b/main/core/commandline.c index ccb3ee22f..af48b671b 100644 --- a/main/core/commandline.c +++ b/main/core/commandline.c @@ -6,13 +6,15 @@ #include "esp_sntp.h" #include "managers/ap_manager.h" #include "sdkconfig.h" -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) #include "managers/ble_manager.h" #endif #include "managers/dial_manager.h" #include "managers/rgb_manager.h" #include "managers/settings_manager.h" +#if !defined(CONFIG_IDF_TARGET_ESP32P4) #include "managers/wifi_manager.h" +#endif #include "managers/sd_card_manager.h" #include "core/esp_comm_manager.h" #include "managers/status_display_manager.h" @@ -54,6 +56,7 @@ static const char *TAG = "Commandline"; +#if !defined(CONFIG_IDF_TARGET_ESP32P4) #if !defined(MAX_WIFI_CHANNEL) #if defined(CONFIG_IDF_TARGET_ESP32C5) #define MAX_WIFI_CHANNEL 165 @@ -61,6 +64,7 @@ static const char *TAG = "Commandline"; #define MAX_WIFI_CHANNEL 13 #endif #endif +#endif #ifndef DISCOVER_TASK_STACK #if defined(CONFIG_USE_CARDPUTER) || defined(CONFIG_USE_CARDPUTER_ADV) @@ -76,7 +80,7 @@ TaskHandle_t gps_info_task_handle = NULL; // Forward declarations for command handlers void cmd_wifi_scan_stop(int argc, char **argv); -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) void handle_list_airtags_cmd(int argc, char **argv); void handle_select_airtag(int argc, char **argv); void handle_spoof_airtag(int argc, char **argv); @@ -179,6 +183,7 @@ void handle_unknown_command(const char *cmd) { } void cmd_wifi_scan_start(int argc, char **argv) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) if (argc > 1) { if (strcmp(argv[1], "-stop") == 0) { cmd_wifi_scan_stop(argc, argv); @@ -196,9 +201,14 @@ void cmd_wifi_scan_start(int argc, char **argv) { } wifi_manager_print_scan_results_with_oui(); status_display_show_status("Scan Started"); +#else + glog("WiFi scanning not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +#endif } void cmd_wifi_scan_stop(int argc, char **argv) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) // Properly stop any ongoing WiFi scan wifi_manager_stop_scan(); @@ -211,6 +221,10 @@ void cmd_wifi_scan_stop(int argc, char **argv) { // Reset WiFi to a good state esp_wifi_stop(); esp_wifi_start(); +#else + glog("WiFi scanning not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +#endif glog("WiFi scan stopped.\n"); status_display_show_status("Scan Stopped"); @@ -466,12 +480,18 @@ static void log_set_confirmation(const SettingDescriptor *d, const FSettings *s) } void cmd_wifi_scan_results(int argc, char **argv) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) glog("WiFi scan results displaying with OUI matching.\n"); wifi_manager_print_scan_results_with_oui(); status_display_show_status("Showing Results"); +#else + glog("WiFi scanning not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +#endif } void handle_list(int argc, char **argv) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) if (argc > 1 && strcmp(argv[1], "-a") == 0) { cmd_wifi_scan_results(argc, argv); return; @@ -480,18 +500,18 @@ void handle_list(int argc, char **argv) { glog("Listed Stations...\n"); return; } -#ifndef CONFIG_IDF_TARGET_ESP32S2 - else if (argc > 1 && strcmp(argv[1], "-airtags") == 0) { +#endif +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) + if (argc > 1 && strcmp(argv[1], "-airtags") == 0) { ble_list_airtags(); return; } #endif - else { - glog("Usage: list -a (for Wi-Fi scan results)\n"); - } + glog("Usage: list -a (for Wi-Fi scan results)\n"); } void handle_beaconspam(int argc, char **argv) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) if (argc > 1 && strcmp(argv[1], "-r") == 0) { glog("Starting Random beacon spam...\n"); wifi_manager_start_beacon(NULL); @@ -521,20 +541,35 @@ void handle_beaconspam(int argc, char **argv) { glog("Usage: beaconspam -r (for Beacon Spam Random)\n"); status_display_show_status("Beacon Usage"); } +#else + glog("WiFi beacon spam not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +#endif } void handle_stop_spam(int argc, char **argv) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) wifi_manager_stop_beacon(); glog("Beacon Spam Stopped...\n"); status_display_show_status("Beacon Stopped"); +#else + glog("WiFi beacon spam not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +#endif } void handle_sta_scan(int argc, char **argv) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) wifi_manager_start_station_scan(); status_display_show_status("Station Scan"); +#else + glog("WiFi station scanning not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +#endif } void handle_attack_cmd(int argc, char **argv) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) if (argc > 1) { if (strcmp(argv[1], "-d") == 0) { glog("Deauthentication starting...\n"); @@ -560,9 +595,14 @@ void handle_attack_cmd(int argc, char **argv) { } glog("Usage: attack -d (deauth) | attack -e (EAPOL logoff) | attack -s (SAE flood)\n"); status_display_show_status("Attack Usage"); +#else + glog("WiFi attacks not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +#endif } void handle_sae_flood_cmd(int argc, char **argv) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) if (argc < 2) { glog("Usage: saeflood \n"); return; @@ -570,26 +610,45 @@ void handle_sae_flood_cmd(int argc, char **argv) { glog("Starting SAE flood attack...\n"); wifi_manager_start_sae_flood(argv[1]); status_display_show_status("SAE Flood On"); +#else + glog("WiFi SAE flood not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +#endif } void handle_stop_sae_flood_cmd(int argc, char **argv) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) glog("Stopping SAE flood attack...\n"); wifi_manager_stop_sae_flood(); status_display_show_status("SAE Flood Off"); +#else + glog("WiFi SAE flood not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +#endif } void handle_sae_flood_help_cmd(int argc, char **argv) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) wifi_manager_sae_flood_help(); status_display_show_status("SAE Help"); +#else + glog("WiFi SAE flood help not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +#endif } void handle_stop_deauth(int argc, char **argv) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) wifi_manager_stop_deauth(); wifi_manager_stop_deauth_station(); wifi_manager_stop_eapollogoff_attack(); wifi_manager_stop_sae_flood(); glog("Deauth/EAPOL/SAE attacks stopped...\n"); status_display_show_status("Attacks Off"); +#else + glog("WiFi attacks not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +#endif } void handle_select_cmd(int argc, char **argv) { @@ -598,6 +657,7 @@ void handle_select_cmd(int argc, char **argv) { return; } +#if !defined(CONFIG_IDF_TARGET_ESP32P4) if (strcmp(argv[1], "-a") == 0) { char *input = argv[2]; char *comma = strchr(input, ','); @@ -641,8 +701,10 @@ void handle_select_cmd(int argc, char **argv) { } else { glog("Error: is not a valid number.\n"); } -#ifndef CONFIG_IDF_TARGET_ESP32S2 - } else if (strcmp(argv[1], "-airtag") == 0) { + } +#endif +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) + if (argc == 3 && strcmp(argv[1], "-airtag") == 0) { char *endptr; int num = (int)strtol(argv[2], &endptr, 10); if (*endptr == '\0') { @@ -650,10 +712,22 @@ void handle_select_cmd(int argc, char **argv) { } else { glog("Error: '%s' is not a valid number.\n", argv[2]); } + return; + } #endif - } else { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) + if (argc == 3 && strcmp(argv[1], "-a") != 0 && strcmp(argv[1], "-s") != 0 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) + && strcmp(argv[1], "-airtag") != 0 +#endif + ) { glog("Invalid option. Usage: select -a or select -s \n"); } +#else + if (argc == 3) { + glog("Invalid option. WiFi selection not supported on ESP32-P4\n"); + } +#endif } void discover_task(void *pvParameter) { @@ -689,8 +763,10 @@ void handle_stop_flipper(int argc, char **argv) { g_ir_universal_send_cancel = true; } +#if !defined(CONFIG_IDF_TARGET_ESP32P4) wifi_manager_stop_deauth(); -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#endif +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) ble_stop(); ble_stop_ble_spam(); #endif @@ -712,12 +788,14 @@ void handle_stop_flipper(int argc, char **argv) { gps_info_task_handle = NULL; } +#if !defined(CONFIG_IDF_TARGET_ESP32P4) wifi_manager_stop_monitor_mode(); // Stop any active monitoring wifi_manager_stop_deauth_station(); wifi_manager_stop_deauth(); wifi_manager_stop_dhcpstarve(); wifi_manager_stop_eapollogoff_attack(); wifi_manager_stop_sae_flood(); +#endif #if defined(CONFIG_IDF_TARGET_ESP32C5) || defined(CONFIG_IDF_TARGET_ESP32C6) // ensure zigbee capture is stopped when using generic stop zigbee_manager_stop_capture(); @@ -810,6 +888,7 @@ void handle_mem_cmd(int argc, char **argv) { } void handle_wifi_connection(int argc, char **argv) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) const char *ssid; const char *password; if (argc == 1) { @@ -913,10 +992,15 @@ void handle_wifi_connection(int argc, char **argv) { sntp_setoperatingmode(SNTP_OPMODE_POLL); sntp_setservername(0, "pool.ntp.org"); sntp_init(); +#else + glog("WiFi connection not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +#endif } void handle_wifi_disconnect(int argc, char **argv) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) wifi_manager_set_manual_disconnect(true); esp_err_t err = esp_wifi_disconnect(); if (err == ESP_OK) { @@ -930,9 +1014,13 @@ void handle_wifi_disconnect(int argc, char **argv) vTaskDelete(VisualizerHandle); VisualizerHandle = NULL; } +#else + glog("WiFi disconnect not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +#endif } -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) void handle_ble_scan_cmd(int argc, char **argv) { if (argc > 1 && strcmp(argv[1], "-f") == 0) { @@ -1011,7 +1099,12 @@ void handle_start_portal(int argc, char **argv) { char log_buf[256]; snprintf(log_buf, sizeof(log_buf), "Starting portal with AP_SSID: %s, PSK: %s, Domain: %s\n", ap_ssid, (strlen(psk) > 0 ? psk : ""), domain ? domain : "(default)"); TERMINAL_VIEW_ADD_TEXT(log_buf); +#if !defined(CONFIG_IDF_TARGET_ESP32P4) wifi_manager_start_evil_portal(final_url_or_path, NULL, psk, ap_ssid, domain); +#else + glog("WiFi evil portal not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +#endif } bool ip_str_to_bytes(const char *ip_str, uint8_t *ip_bytes) { @@ -1161,9 +1254,14 @@ void handle_tp_link_test(int argc, char **argv) { } void handle_ip_lookup(int argc, char **argv) { - glog("Starting IP lookup...\n"); +#if !defined(CONFIG_IDF_TARGET_ESP32P4) + glog("Starting IP lookup...\n"); wifi_manager_start_ip_lookup(); status_display_show_status("IP Lookup"); +#else + glog("WiFi IP lookup not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +#endif } #ifdef CONFIG_WITH_STATUS_DISPLAY @@ -1293,6 +1391,7 @@ void handle_capture_scan(int argc, char **argv) { return; } +#if !defined(CONFIG_IDF_TARGET_ESP32P4) if (strcmp(capturetype, "-probe") == 0) { glog("Starting probe request\npacket capture...\n"); int err = pcap_file_open("probescan", PCAP_CAPTURE_WIFI); @@ -1343,6 +1442,7 @@ void handle_capture_scan(int argc, char **argv) { wifi_manager_start_monitor_mode(wifi_raw_scan_callback); status_display_show_status("Capture Raw"); } +#endif #if defined(CONFIG_IDF_TARGET_ESP32C5) || defined(CONFIG_IDF_TARGET_ESP32C6) if (strcmp(capturetype, "-802154") == 0) { @@ -1364,6 +1464,7 @@ void handle_capture_scan(int argc, char **argv) { } #endif +#if !defined(CONFIG_IDF_TARGET_ESP32P4) if (strcmp(capturetype, "-eapol") == 0) { glog("Starting EAPOL\npacket capture...\n"); int err = pcap_file_open("eapolscan", PCAP_CAPTURE_WIFI); @@ -1404,11 +1505,14 @@ void handle_capture_scan(int argc, char **argv) { wifi_manager_start_monitor_mode(wifi_wps_detection_callback); status_display_show_status("Capture WPS"); } +#endif if (strcmp(capturetype, "-stop") == 0) { glog("Stopping packet capture...\n"); +#if !defined(CONFIG_IDF_TARGET_ESP32P4) wifi_manager_stop_monitor_mode(); -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#endif +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) ble_stop(); #endif #if defined(CONFIG_IDF_TARGET_ESP32C5) || defined(CONFIG_IDF_TARGET_ESP32C6) @@ -1417,7 +1521,7 @@ void handle_capture_scan(int argc, char **argv) { pcap_file_close(); status_display_show_status("Capture Stop"); } -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) if (strcmp(capturetype, "-ble") == 0) { printf("Starting BLE packet capture...\n"); TERMINAL_VIEW_ADD_TEXT("Starting BLE packet capture...\n"); @@ -1446,9 +1550,14 @@ void handle_capture_scan(int argc, char **argv) { } void stop_portal(int argc, char **argv) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) wifi_manager_stop_evil_portal(); glog("Stopping evil portal...\n"); status_display_show_status("Portal Stop"); +#else + glog("WiFi portal not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +#endif } void handle_reboot(int argc, char **argv) { @@ -1466,6 +1575,7 @@ void handle_startwd(int argc, char **argv) { } } +#if !defined(CONFIG_IDF_TARGET_ESP32P4) if (stop_flag) { stop_wardriving(); gps_manager_deinit(&g_gpsManager); @@ -1488,6 +1598,10 @@ void handle_startwd(int argc, char **argv) { glog("Wardriving started.\n"); status_display_show_status("Wardrive Start"); } +#else + glog("WiFi wardriving not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +#endif } void handle_timezone_cmd(int argc, char **argv) { @@ -1506,6 +1620,7 @@ void handle_timezone_cmd(int argc, char **argv) { } void handle_scan_ports(int argc, char **argv) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) if (argc < 2) { glog("Usage:\n"); glog(" scanports local\n"); @@ -1578,15 +1693,25 @@ void handle_scan_ports(int argc, char **argv) { glog("Scanning %s udp ports %d-%d...\n", target_ip, start_port, end_port); scan_ip_udp_port_range(target_ip, start_port, end_port); status_display_show_status("Ports Custom"); +#else + glog("WiFi port scanning not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +#endif } void handle_scan_arp(int argc, char **argv) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) glog("Starting ARP scan on local network...\n"); wifi_manager_arp_scan_subnet(); status_display_show_status("ARP Scan"); +#else + glog("WiFi ARP scanning not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +#endif } void handle_scan_ssh(int argc, char **argv) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) if (argc < 2) { glog("Usage: scanssh \n"); status_display_show_status("SSH Usage"); @@ -1608,6 +1733,10 @@ void handle_scan_ssh(int argc, char **argv) { glog("No SSH services found.\n"); status_display_show_status("SSH None"); } +#else + glog("WiFi SSH scanning not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +#endif } void handle_crash(int argc, char **argv) { @@ -1749,7 +1878,7 @@ void handle_help(int argc, char **argv) { return; } -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) if (strcmp(category, "ble") == 0) { glog("\nBLE Commands:\n\n"); glog("blescan\n"); @@ -2106,7 +2235,7 @@ void handle_capture(int argc, char **argv) { status_display_show_status("Capture Usage"); return; } -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) if (strcmp(argv[1], "-ble") == 0) { glog("Starting BLE packet capture...\n"); ble_start_capture(); @@ -2151,7 +2280,7 @@ void handle_gps_info(int argc, char **argv) { } -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) void handle_ble_wardriving(int argc, char **argv) { bool stop_flag = false; @@ -2195,6 +2324,7 @@ void handle_ble_wardriving(int argc, char **argv) { #endif void handle_pineap_detection(int argc, char **argv) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) if (argc > 1 && strcmp(argv[1], "-s") == 0) { glog("Stopping PineAP detection...\n"); stop_pineap_detection(); @@ -2216,10 +2346,15 @@ void handle_pineap_detection(int argc, char **argv) { glog("Monitoring for Pineapples\n"); status_display_show_status("PineAP Watch"); +#else + glog("WiFi PineAP detection not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +#endif } void handle_apcred(int argc, char **argv) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) if (argc < 2) { glog("Usage: apcred \n"); glog(" apcred -r (reset to defaults)\n"); @@ -2302,6 +2437,10 @@ void handle_apcred(int argc, char **argv) { glog("AP credentials updated - SSID: %s, Password: %s\n", saved_ssid, saved_password); status_display_show_status("AP Updated"); +#else + glog("AP credentials not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) } void handle_rgb_mode(int argc, char **argv) { @@ -3149,6 +3288,7 @@ void handle_sd_cmd(int argc, char **argv) { } void handle_congestion_cmd(int argc, char **argv) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) wifi_manager_start_scan(); status_display_show_status("Congest Scan"); @@ -3229,6 +3369,10 @@ void handle_congestion_cmd(int argc, char **argv) { free(channels); free(counts); glog("%s", footer); +#else + glog("WiFi congestion analysis not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +#endif } // Forward declaration for the new print function @@ -3253,6 +3397,7 @@ void handle_scanall(int argc, char **argv) { glog("Starting combined scan (%d sec AP, %d sec STA)...\n", ap_scan_seconds, sta_scan_seconds); status_display_show_status("ScanAll Start"); +#if !defined(CONFIG_IDF_TARGET_ESP32P4) // 1. Perform AP Scan glog("--- Starting AP Scan (%d seconds) ---\n", ap_scan_seconds); wifi_manager_start_scan_with_time(ap_scan_seconds); @@ -3274,6 +3419,10 @@ void handle_scanall(int argc, char **argv) { ap_manager_start_services(); status_display_show_status("ScanAll Done"); +#else + glog("WiFi scanall not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +#endif } static int get_next_sweep_file_index(void) { @@ -3289,6 +3438,7 @@ static int get_next_sweep_file_index(void) { return next; } +#if !defined(CONFIG_IDF_TARGET_ESP32P4) static const char* sweep_get_auth_str(wifi_auth_mode_t auth) { switch (auth) { case WIFI_AUTH_OPEN: return "Open"; @@ -3345,8 +3495,10 @@ static void sweep_write_csv_escaped(FILE *f, const char *str) { fputs(str, f); } } +#endif void handle_sweep_cmd(int argc, char **argv) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) int wifi_seconds = 10; int ble_seconds = 10; @@ -3465,7 +3617,7 @@ void handle_sweep_cmd(int argc, char **argv) { } } -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) // --- BLE Scans --- glog("\n--- Phase 3: BLE Flipper Scan (%ds) ---\n", ble_seconds); @@ -3573,9 +3725,13 @@ void handle_sweep_cmd(int argc, char **argv) { glog("WiFi: %d APs, %d stations | Security: %d open, %d weak, %d secure\n", ap_cnt, station_count, open_networks, weak_networks, secure_networks); status_display_show_status("Sweep Done"); +#else + glog("WiFi sweep not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +#endif } -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) void handle_list_airtags_cmd(int argc, char **argv) { ble_list_airtags(); status_display_show_status("List AirTags"); @@ -3583,7 +3739,7 @@ void handle_list_airtags_cmd(int argc, char **argv) { #endif // Select AirTag handler -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) void handle_select_airtag(int argc, char **argv) { if (argc != 2) { glog("Usage: selectairtag \n"); @@ -3604,7 +3760,7 @@ void handle_select_airtag(int argc, char **argv) { #endif // Spoof AirTag handler -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) void handle_spoof_airtag(int argc, char **argv) { ble_start_spoofing_selected_airtag(); status_display_show_status("AirTag Spoof"); @@ -3612,7 +3768,7 @@ void handle_spoof_airtag(int argc, char **argv) { #endif // Stop Spoof handler -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) void handle_stop_spoof(int argc, char **argv) { ble_stop_spoofing(); status_display_show_status("Spoof Stop"); @@ -3620,7 +3776,7 @@ void handle_stop_spoof(int argc, char **argv) { #endif // Handlers for Flipper commands -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) void handle_list_flippers_cmd(int argc, char **argv) { ble_list_flippers(); status_display_show_status("List Flipper"); @@ -3677,6 +3833,7 @@ void handle_track_gatt_cmd(int argc, char **argv) { #endif // New beacon list command handlers +#if !defined(CONFIG_IDF_TARGET_ESP32P4) void handle_beaconadd(int argc, char **argv) { if (argc != 2) { glog("Usage: beaconadd \n"); @@ -3731,6 +3888,37 @@ void handle_dhcpstarve_cmd(int argc, char **argv) { status_display_show_status("DHCP Usage"); } } +#else +void handle_beaconadd(int argc, char **argv) { + glog("WiFi beacon management not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +} + +void handle_beaconremove(int argc, char **argv) { + glog("WiFi beacon management not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +} + +void handle_beaconclear(int argc, char **argv) { + glog("WiFi beacon management not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +} + +void handle_beaconshow(int argc, char **argv) { + glog("WiFi beacon management not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +} + +void handle_beaconspamlist(int argc, char **argv) { + glog("WiFi beacon management not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +} + +void handle_dhcpstarve_cmd(int argc, char **argv) { + glog("WiFi DHCP starve not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +} +#endif #if CONFIG_IDF_TARGET_ESP32C5 void handle_setcountry(int argc, char **argv) { if (argc != 2) { @@ -3750,6 +3938,7 @@ void handle_setcountry(int argc, char **argv) { #endif void handle_listen_probes_cmd(int argc, char **argv) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) if (argc > 1 && strcmp(argv[1], "stop") == 0) { wifi_manager_stop_monitor_mode(); pcap_file_close(); @@ -3795,13 +3984,23 @@ void handle_listen_probes_cmd(int argc, char **argv) { glog("SD card not available; probe PCAP disabled.\n"); status_display_show_status("SD Missing"); } +#else + glog("WiFi probe listening not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); + return; +#endif +#if !defined(CONFIG_IDF_TARGET_ESP32P4) if (channel_hopping) { wifi_manager_start_monitor_mode(wifi_listen_probes_callback); } else { esp_wifi_set_channel(channel, WIFI_SECOND_CHAN_NONE); wifi_manager_start_monitor_mode(wifi_listen_probes_callback); } +#else + glog("WiFi probe listening not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +#endif } void handle_web_auth_cmd(int argc, char **argv) { @@ -5385,7 +5584,7 @@ void register_commands() { register_command("commdisconnect", handle_comm_disconnect); register_command("commsetpins", handle_comm_setpins); -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) register_command("blescan", handle_ble_scan_cmd); register_command("blewardriving", handle_ble_wardriving); register_command("listairtags", handle_list_airtags_cmd); @@ -5412,7 +5611,7 @@ void register_commands() { register_command("scanall", handle_scanall); register_command("sweep", handle_sweep_cmd); register_command("timezone", handle_timezone_cmd); -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) register_command("listflippers", handle_list_flippers_cmd); register_command("selectflipper", handle_select_flipper_cmd); register_command("listgatt", handle_list_gatt_cmd); @@ -5431,7 +5630,7 @@ void register_commands() { register_command("setcountry", handle_setcountry); #endif register_command("webauth", handle_web_auth_cmd); -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) register_command("blespam", handle_ble_spam_cmd); #endif register_command("setrgbmode", handle_set_rgb_mode_cmd); @@ -5453,7 +5652,7 @@ void register_commands() { glog("Registered Commands\n"); } -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) void handle_ble_spam_cmd(int argc, char **argv) { if (argc > 1) { if (strcmp(argv[1], "-apple") == 0) { @@ -5520,6 +5719,7 @@ void handle_evilportal(int argc, char **argv) { return; } +#if !defined(CONFIG_IDF_TARGET_ESP32P4) if (strcmp(argv[2], "sethtmlstr") == 0) { wifi_manager_set_html_from_uart(); glog("HTML buffer mode enabled for evil portal\n"); @@ -5529,6 +5729,10 @@ void handle_evilportal(int argc, char **argv) { } else { glog("Error: Unknown command '%s'\n", argv[2]); } +#else + glog("WiFi HTML buffer management not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +#endif } void handle_set_rgb_mode_cmd(int argc, char **argv) { @@ -5553,6 +5757,7 @@ void handle_set_rgb_mode_cmd(int argc, char **argv) { } void handle_karma_cmd(int argc, char **argv) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) if (argc < 2) { printf("Usage: karma [ssid1 ssid2 ...]\n"); TERMINAL_VIEW_ADD_TEXT("Usage: karma [ssid1 ssid2 ...]\n"); @@ -5584,6 +5789,10 @@ void handle_karma_cmd(int argc, char **argv) { printf("Usage: karma [ssid1 ssid2 ...]\n"); TERMINAL_VIEW_ADD_TEXT("Usage: karma [ssid1 ssid2 ...]\n"); } +#else + glog("WiFi karma attack not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +#endif } void handle_set_neopixel_brightness_cmd(int argc, char **argv) { diff --git a/main/gui/options_view.c b/main/gui/options_view.c index a7e129bc1..bc32becba 100644 --- a/main/gui/options_view.c +++ b/main/gui/options_view.c @@ -33,7 +33,7 @@ static inline lv_style_t *get_zebra_style(options_view_t *ov, int idx) { } static inline const lv_font_t *get_item_font(const options_view_t *ov) { - return (ov->btn_h <= 40) ? &lv_font_montserrat_12 : &lv_font_montserrat_14; + return &lv_font_montserrat_14; } static void apply_selected_style(options_view_t *ov, lv_obj_t *item, bool on) { diff --git a/main/main.c b/main/main.c index 919223b49..5f3814d63 100644 --- a/main/main.c +++ b/main/main.c @@ -8,7 +8,7 @@ #include "managers/settings_manager.h" #include "managers/wifi_manager.h" #include "core/esp_comm_manager.h" -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) #include "managers/ble_manager.h" #endif #include @@ -73,8 +73,10 @@ void app_main(void) { MEASURE_INIT_RAM("Serial Manager", serial_manager_init()); +#if !defined(CONFIG_IDF_TARGET_ESP32P4) MEASURE_INIT_RAM("Wifi Manager", wifi_manager_init()); -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#endif +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) // MEASURE_INIT_RAM("BLE Manager", ble_init()); #endif diff --git a/main/managers/ap_manager.c b/main/managers/ap_manager.c index 37640f767..ba6b895ff 100644 --- a/main/managers/ap_manager.c +++ b/main/managers/ap_manager.c @@ -15,7 +15,9 @@ #include #include #include +#if !defined(CONFIG_IDF_TARGET_ESP32P4) #include +#endif #include #include #include "core/glog.h" @@ -54,8 +56,10 @@ static esp_err_t api_esp_comm_status_handler(httpd_req_t *req); static esp_err_t api_esp_comm_control_handler(httpd_req_t *req); static esp_err_t api_esp_comm_send_handler(httpd_req_t *req); +#if !defined(CONFIG_IDF_TARGET_ESP32P4) static void event_handler(void *arg, esp_event_base_t event_base, int32_t event_id, void *event_data); +#endif static esp_err_t load_server_config(void); static esp_err_t start_http_server(void); @@ -565,6 +569,7 @@ static esp_err_t api_sd_card_upload_handler(httpd_req_t *req) { } esp_err_t ap_manager_init(void) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) esp_err_t ret; wifi_mode_t mode; @@ -785,10 +790,16 @@ esp_err_t ap_manager_init(void) { log_heap_status(TAG, "ap_init_complete"); return ESP_OK; +#else + // ESP32-P4 doesn't have WiFi, so AP manager is not available + glog("Access Point not supported on ESP32-P4 (no built-in WiFi)\n"); + return ESP_ERR_NOT_SUPPORTED; +#endif } // Deinitialize and stop the servers void ap_manager_deinit(void) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) ESP_LOGI(TAG, "Deinitializing AP Manager"); stop_http_server(); @@ -835,6 +846,10 @@ void ap_manager_deinit(void) { } ESP_LOGI(TAG, "AP Manager deinitialized successfully"); +#else + // ESP32-P4 doesn't have WiFi + ESP_LOGI(TAG, "AP Manager not available on ESP32-P4"); +#endif } void ap_manager_add_log(const char *log_message) { @@ -882,6 +897,7 @@ void ap_manager_add_log(const char *log_message) { } esp_err_t ap_manager_start_services() { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) esp_err_t ret; // if ap is disabled or power saving is on, do not start ap services. @@ -943,9 +959,15 @@ esp_err_t ap_manager_start_services() { status_display_show_status("AP Services On"); return ESP_OK; +#else + glog("AP services not supported on ESP32-P4 (no built-in WiFi)\n"); + status_display_show_status("Not Supported"); + return ESP_ERR_NOT_SUPPORTED; +#endif } void ap_manager_stop_services() { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) log_heap_status(TAG, "ap_stop_pre"); wifi_mode_t wifi_mode; esp_err_t err = esp_wifi_get_mode(&wifi_mode); @@ -990,6 +1012,10 @@ void ap_manager_stop_services() { teardown_mdns(); log_heap_status(TAG, "ap_stop_post"); status_display_show_status("AP Services Off"); +#else + // ESP32-P4 doesn't have WiFi + ESP_LOGI(TAG, "AP services not available on ESP32-P4"); +#endif } // Handler for GET requests (serves the HTML page) @@ -1655,6 +1681,7 @@ static esp_err_t api_esp_comm_send_handler(httpd_req_t *req) { return ESP_OK; } +#if !defined(CONFIG_IDF_TARGET_ESP32P4) // Event handler for Wi-Fi events static void event_handler(void *arg, esp_event_base_t event_base, int32_t event_id, void *event_data) { @@ -1711,6 +1738,7 @@ static void event_handler(void *arg, esp_event_base_t event_base, int32_t event_ } } } +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) static esp_err_t load_server_config(void) { if (config_loaded) { @@ -1839,6 +1867,7 @@ static bool is_config_loaded(void) { } esp_err_t ap_manager_reload_config(void) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) ESP_LOGI(TAG, "Reloading server configuration and mDNS"); esp_err_t ret = stop_http_server(); @@ -1870,6 +1899,10 @@ esp_err_t ap_manager_reload_config(void) { ESP_LOGI(TAG, "Server configuration and mDNS reloaded successfully"); return ESP_OK; +#else + ESP_LOGI(TAG, "AP manager reload not supported on ESP32-P4"); + return ESP_ERR_NOT_SUPPORTED; +#endif } void ap_manager_get_status(bool *server_running, bool *config_loaded_status, int *handler_count_status) { diff --git a/main/managers/ble_manager.c b/main/managers/ble_manager.c index fecc1db88..25e5f599a 100644 --- a/main/managers/ble_manager.c +++ b/main/managers/ble_manager.c @@ -5,7 +5,7 @@ #include #include #include "esp_heap_caps.h" -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) #include "core/callbacks.h" #include "esp_random.h" #include "host/ble_gap.h" @@ -98,7 +98,7 @@ static SemaphoreHandle_t nimble_host_exit_sem = NULL; static uint32_t ble_pcap_packet_count = 0; static uint32_t ble_pcap_event_total_count = 0; -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) static bool ble_ap_suspended = false; static bool ble_wifi_suspended = false; static wifi_mode_t ble_prev_wifi_mode = WIFI_MODE_NULL; @@ -1848,7 +1848,7 @@ esp_err_t ble_unregister_handler(ble_data_handler_t handler) { } void ble_init(void) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) // --- pre-init ram check --- size_t free_internal = heap_caps_get_free_size(MALLOC_CAP_INTERNAL | MALLOC_CAP_8BIT); size_t largest_internal = heap_caps_get_largest_free_block(MALLOC_CAP_INTERNAL | MALLOC_CAP_8BIT); diff --git a/main/managers/chameleon_manager.c b/main/managers/chameleon_manager.c index 083d2f908..88031e412 100644 --- a/main/managers/chameleon_manager.c +++ b/main/managers/chameleon_manager.c @@ -7,7 +7,7 @@ #include "managers/nfc/mifare_attack.h" #include "managers/ble_manager.h" -#ifdef CONFIG_NFC_CHAMELEON +#if defined(CONFIG_NFC_CHAMELEON) && !defined(CONFIG_IDF_TARGET_ESP32P4) #include "host/ble_hs.h" #include "host/ble_hs_id.h" #include "host/ble_uuid.h" @@ -84,11 +84,14 @@ static bool g_is_initialized = false; static bool g_device_found = false; static bool g_is_connected = false; static bool g_scanning = false; +#if !defined(CONFIG_IDF_TARGET_ESP32P4) static struct ble_gap_disc_desc g_discovered_device; +#endif static bool g_cu_backdoor_checked = false; static bool g_cu_backdoor_enabled = false; +#if !defined(CONFIG_IDF_TARGET_ESP32P4) static uint16_t g_conn_handle = BLE_HS_CONN_HANDLE_NONE; static uint16_t g_tx_char_handle = 0; static uint16_t g_rx_char_handle = 0; @@ -104,13 +107,16 @@ bool g_pin_required = false; // Track current device HW mode to avoid redundant mode switches static uint8_t g_cached_hw_mode = 0xFF; // unknown +#if !defined(CONFIG_IDF_TARGET_ESP32P4) static bool g_ap_was_running = false; static bool g_wifi_was_running = false; static wifi_mode_t g_prev_wifi_mode = WIFI_MODE_NULL; +#endif static bool g_cu_nfc_dir_ready = false; static void chameleon_suspend_ap(void) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) bool server_running = false; ap_manager_get_status(&server_running, NULL, NULL); wifi_mode_t _cur_mode = WIFI_MODE_NULL; @@ -138,9 +144,16 @@ static void chameleon_suspend_ap(void) { g_wifi_was_running = false; } } +#else + // ESP32-P4 doesn't have WiFi + g_ap_was_running = false; + g_wifi_was_running = false; + g_prev_wifi_mode = WIFI_MODE_NULL; +#endif } static void chameleon_resume_ap(void) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) if (g_ap_was_running) { ESP_LOGI(TAG, "Restoring GhostNet AP services after Chameleon session"); printf("Restoring GhostNet AP...\n"); @@ -176,9 +189,23 @@ static void chameleon_resume_ap(void) { g_prev_wifi_mode = WIFI_MODE_NULL; g_wifi_was_running = false; } +#else + // ESP32-P4 doesn't have WiFi + ESP_LOGI(TAG, "WiFi resume not needed on ESP32-P4"); +#endif } // Chameleon Ultra command constants (from official protocol documentation) +#if !defined(CONFIG_IDF_TARGET_ESP32P4) +// Forward declarations +static void chameleon_ble_scan_callback(struct ble_gap_event *event, size_t len); +static int chameleon_gap_event_handler(struct ble_gap_event *event, void *arg); +static int chameleon_service_discovery_cb(uint16_t conn_handle, const struct ble_gatt_error *error, const struct ble_gatt_svc *service, void *arg); +static int chameleon_char_discovery_cb(uint16_t conn_handle, const struct ble_gatt_error *error, const struct ble_gatt_chr *chr, void *arg); +static int chameleon_notification_cb(uint16_t conn_handle, uint16_t attr_handle, struct ble_gatt_access_ctxt *ctxt, void *arg); +static bool send_command(uint16_t cmd, uint8_t *data, size_t data_len); +static bool wait_for_cmd_data(uint16_t cmd, size_t min_len, uint32_t timeout_ms); +static uint8_t calculate_lrc(const uint8_t *data, size_t length); // Basic device commands (1000-1099) #define CMD_GET_APP_VERSION 1000 // 0x03E8 - Get firmware version #define CMD_CHANGE_DEVICE_MODE 1001 // 0x03E9 - Change device mode @@ -721,9 +748,11 @@ static uint32_t g_cached_details_session = 0; // Service: 6E400001-B5A3-F393-E0A9-E50E24DCCA9E // TX: 6E400002-B5A3-F393-E0A9-E50E24DCCA9E (write to this) // RX: 6E400003-B5A3-F393-E0A9-E50E24DCCA9E (notifications from this) +#if !defined(CONFIG_IDF_TARGET_ESP32P4) static const ble_uuid128_t g_service_uuid = BLE_UUID128_INIT(0x9E, 0xCA, 0xDC, 0x24, 0x0E, 0xE5, 0xA9, 0xE0, 0x93, 0xF3, 0xA3, 0xB5, 0x01, 0x00, 0x40, 0x6E); static const ble_uuid128_t g_tx_char_uuid = BLE_UUID128_INIT(0x9E, 0xCA, 0xDC, 0x24, 0x0E, 0xE5, 0xA9, 0xE0, 0x93, 0xF3, 0xA3, 0xB5, 0x02, 0x00, 0x40, 0x6E); static const ble_uuid128_t g_rx_char_uuid = BLE_UUID128_INIT(0x9E, 0xCA, 0xDC, 0x24, 0x0E, 0xE5, 0xA9, 0xE0, 0x93, 0xF3, 0xA3, 0xB5, 0x03, 0x00, 0x40, 0x6E); +#endif // Response structure typedef struct { @@ -763,7 +792,9 @@ static void cu_try_magic_backdoor_once(void) { ESP_LOGI(TAG, "Magic backdoor likely enabled"); } } +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) +#if !defined(CONFIG_IDF_TARGET_ESP32P4) // Forward declarations static void chameleon_ble_scan_callback(struct ble_gap_event *event, size_t len); static int chameleon_gap_event_handler(struct ble_gap_event *event, void *arg); @@ -773,6 +804,7 @@ static int chameleon_notification_cb(uint16_t conn_handle, uint16_t attr_handle, static bool send_command(uint16_t cmd, uint8_t *data, size_t data_len); static bool wait_for_cmd_data(uint16_t cmd, size_t min_len, uint32_t timeout_ms); static uint8_t calculate_lrc(const uint8_t *data, size_t length); +#endif static void start_service_discovery(void); static int chameleon_sm_io_cb(uint16_t conn_handle, const struct ble_sm_io *io, void *arg); @@ -3615,8 +3647,10 @@ bool chameleon_manager_enable_mfkey32_mode(void) { TERMINAL_VIEW_ADD_TEXT("MFKey32 mode not implemented\n"); return false; } - +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) + bool chameleon_manager_collect_nonces(void) { +#if !defined(CONFIG_IDF_TARGET_ESP32P4) if (!g_is_connected) { printf("Not connected to Chameleon Ultra\n"); TERMINAL_VIEW_ADD_TEXT("Not connected to Chameleon Ultra\n"); @@ -3627,6 +3661,9 @@ bool chameleon_manager_collect_nonces(void) { printf("Nonce collection not implemented in simplified version\n"); TERMINAL_VIEW_ADD_TEXT("Nonce collection not implemented\n"); return false; - } - -#endif \ No newline at end of file +#else + // ESP32-P4 doesn't have BLE + return false; +#endif +} +#endif // CONFIG_NFC_CHAMELEON \ No newline at end of file diff --git a/main/managers/display_manager.c b/main/managers/display_manager.c index a8e0a3243..8e4f6c101 100644 --- a/main/managers/display_manager.c +++ b/main/managers/display_manager.c @@ -796,7 +796,7 @@ static void status_update_cb(lv_timer_t *timer) { if (is_backlight_off) return; // Skip updates when backlight is off bool HasBluetooth; -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) HasBluetooth = true; #else HasBluetooth = false; @@ -892,29 +892,29 @@ void display_manager_add_status_bar(const char *CurrentMenuName) { sd_label = lv_label_create(right_container); lv_label_set_text(sd_label, LV_SYMBOL_SD_CARD); lv_obj_set_style_text_color(sd_label, lv_color_hex(0xCCCCCC), 0); - lv_obj_set_style_text_font(sd_label, &lv_font_montserrat_12, 0); + lv_obj_set_style_text_font(sd_label, &lv_font_montserrat_14, 0); lv_obj_add_flag(sd_label, LV_OBJ_FLAG_HIDDEN); // add ble status to right container bt_label = lv_label_create(right_container); lv_label_set_text(bt_label, LV_SYMBOL_BLUETOOTH); lv_obj_set_style_text_color(bt_label, lv_color_hex(0xCCCCCC), 0); - lv_obj_set_style_text_font(bt_label, &lv_font_montserrat_12, 0); + lv_obj_set_style_text_font(bt_label, &lv_font_montserrat_14, 0); lv_obj_add_flag(bt_label, LV_OBJ_FLAG_HIDDEN); // add wifi status to right container wifi_label = lv_label_create(right_container); lv_label_set_text(wifi_label, LV_SYMBOL_WIFI); lv_obj_set_style_text_color(wifi_label, lv_color_hex(0xCCCCCC), 0); - lv_obj_set_style_text_font(wifi_label, &lv_font_montserrat_12, 0); + lv_obj_set_style_text_font(wifi_label, &lv_font_montserrat_14, 0); lv_obj_add_flag(wifi_label, LV_OBJ_FLAG_HIDDEN); // add battery status to right container battery_label = lv_label_create(right_container); lv_label_set_text(battery_label, ""); lv_obj_set_style_text_color(battery_label, lv_color_hex(0xCCCCCC), 0); - lv_obj_set_style_text_font(battery_label, &lv_font_montserrat_12, 0); + lv_obj_set_style_text_font(battery_label, &lv_font_montserrat_14, 0); lv_obj_add_flag(battery_label, LV_OBJ_FLAG_HIDDEN); bool HasBluetooth; -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) HasBluetooth = true; #else HasBluetooth = false; diff --git a/main/managers/views/app_gallery_screen.c b/main/managers/views/app_gallery_screen.c index 94bab2215..7f8531d2d 100644 --- a/main/managers/views/app_gallery_screen.c +++ b/main/managers/views/app_gallery_screen.c @@ -179,7 +179,7 @@ static void update_app_item(bool slide_left) { label_text = "< Back"; } lv_label_set_text(label, label_text); - lv_obj_set_style_text_font(label, &lv_font_montserrat_12, 0); + lv_obj_set_style_text_font(label, &lv_font_montserrat_14, 0); lv_obj_set_style_text_color(label, lv_color_hex(0xFFFFFF), 0); lv_obj_align(label, LV_ALIGN_BOTTOM_MID, 0, -5); } @@ -303,7 +303,7 @@ static void create_apps_grid_menu(void) { label_text = "< Back"; } lv_label_set_text(label, label_text); - const lv_font_t *lbl_font = (ch <= 50 ? &lv_font_montserrat_10 : &lv_font_montserrat_12); + const lv_font_t *lbl_font = &lv_font_montserrat_14; lv_obj_set_style_text_font(label, lbl_font, 0); lv_obj_set_style_text_color(label, lv_color_hex(0xFFFFFF), 0); @@ -375,7 +375,7 @@ static void create_apps_list_menu(void) { } lv_label_set_text(label, label_text); lv_obj_set_style_text_color(label, lv_color_hex(0xFFFFFF), 0); - const lv_font_t *lbl_font = (button_height <= 38) ? &lv_font_montserrat_12 : &lv_font_montserrat_14; + const lv_font_t *lbl_font = &lv_font_montserrat_14; lv_obj_set_style_text_font(label, lbl_font, 0); lv_label_set_long_mode(label, LV_LABEL_LONG_DOT); @@ -460,7 +460,7 @@ static void create_apps_list_menu(void) { lv_obj_t *left_label = lv_label_create(left_nav_btn); lv_label_set_text(left_label, "<"); - lv_obj_set_style_text_font(left_label, &lv_font_montserrat_18, 0); + lv_obj_set_style_text_font(left_label, &lv_font_montserrat_14, 0); if (btn_size < 40) { lv_obj_set_style_text_font(left_label, &lv_font_montserrat_14, 0); } @@ -478,7 +478,7 @@ static void create_apps_list_menu(void) { lv_obj_t *right_label = lv_label_create(right_nav_btn); lv_label_set_text(right_label, ">"); - lv_obj_set_style_text_font(right_label, &lv_font_montserrat_18, 0); + lv_obj_set_style_text_font(right_label, &lv_font_montserrat_14, 0); if (btn_size < 40) { lv_obj_set_style_text_font(right_label, &lv_font_montserrat_14, 0); } diff --git a/main/managers/views/clock_screen.c b/main/managers/views/clock_screen.c index d05a4547a..3e799acb6 100644 --- a/main/managers/views/clock_screen.c +++ b/main/managers/views/clock_screen.c @@ -62,7 +62,7 @@ void clock_create(void) { time_label = lv_label_create(content); lv_label_set_text(time_label, "00:00:00"); - lv_obj_set_style_text_font(time_label, &lv_font_montserrat_40, 0); + lv_obj_set_style_text_font(time_label, &lv_font_montserrat_14, 0); lv_obj_set_style_text_color(time_label, lv_color_hex(0xFFFFFF), 0); lv_obj_align(time_label, LV_ALIGN_CENTER, 0, -15); date_label = lv_label_create(content); diff --git a/main/managers/views/error_popup.c b/main/managers/views/error_popup.c index 361c9c7b9..e13f0e982 100644 --- a/main/managers/views/error_popup.c +++ b/main/managers/views/error_popup.c @@ -63,7 +63,7 @@ void error_popup_create(const char *message) { int popup_width = LV_HOR_RES * 0.8; int padding = (LV_HOR_RES <= 128) ? 5 : 10; - const lv_font_t *font = (LV_HOR_RES <= 128) ? &lv_font_montserrat_8 : &lv_font_montserrat_12; + const lv_font_t *font = &lv_font_montserrat_14; lv_obj_set_style_pad_all(error_popup_root, padding, 0); lv_obj_set_width(error_popup_root, popup_width); // container height and alignment will be set after label size is calculated @@ -168,7 +168,7 @@ void error_popup_create_persistent(const char *message) { int popup_width = LV_HOR_RES * 0.8; int padding = (LV_HOR_RES <= 128) ? 5 : 10; - const lv_font_t *font = (LV_HOR_RES <= 128) ? &lv_font_montserrat_8 : &lv_font_montserrat_12; + const lv_font_t *font = &lv_font_montserrat_14; lv_obj_set_style_pad_all(error_popup_root, padding, 0); lv_obj_set_width(error_popup_root, popup_width); diff --git a/main/managers/views/flappy_ghost.c b/main/managers/views/flappy_ghost.c index abc67792e..a6a991d2a 100644 --- a/main/managers/views/flappy_ghost.c +++ b/main/managers/views/flappy_ghost.c @@ -129,7 +129,7 @@ void set_game_settings(int height) { settings.flap_strength = -10.0f; settings.pipe_gap_ratio = 0.3f; // 30% of screen height settings.bird_size = 32; - settings.score_font = &lv_font_montserrat_16; + settings.score_font = &lv_font_montserrat_14; settings.ground_height = (int)(height * 0.1f); // 10% of screen height break; case SCREEN_SIZE_LARGE: @@ -139,7 +139,7 @@ void set_game_settings(int height) { settings.flap_strength = -12.0f; settings.pipe_gap_ratio = 0.35f; // 35% of screen height settings.bird_size = 40; - settings.score_font = &lv_font_montserrat_24; + settings.score_font = &lv_font_montserrat_14; settings.ground_height = (int)(height * 0.1f); // 10% of screen height break; } diff --git a/main/managers/views/infrared_view.c b/main/managers/views/infrared_view.c index 88fc84e66..1da85a5fd 100644 --- a/main/managers/views/infrared_view.c +++ b/main/managers/views/infrared_view.c @@ -818,7 +818,7 @@ static void dazzler_event_cb(lv_event_t *e) { dazzler_popup = popup_create_container(lv_scr_act(), popup_w, popup_h); lv_obj_center(dazzler_popup); - lv_obj_t *title = popup_create_title_label(dazzler_popup, "IR Dazzler Active", &lv_font_montserrat_16, 15); + lv_obj_t *title = popup_create_title_label(dazzler_popup, "IR Dazzler Active", &lv_font_montserrat_14, 15); (void)title; lv_obj_t *info = popup_create_body_label(dazzler_popup, "Emitting IR...", popup_w - 20, true, &lv_font_montserrat_14, 45); @@ -2484,7 +2484,7 @@ static void create_unified_learning_popup(learning_popup_type_t type, learning_p } } - lv_obj_t *title_label = popup_create_title_label(popup, config->title, &lv_font_montserrat_16, 20); + lv_obj_t *title_label = popup_create_title_label(popup, config->title, &lv_font_montserrat_14, 20); (void)title_label; instruction_label = popup_create_body_label(popup, config->instruction, config->width - 20, true, &lv_font_montserrat_14, 60); @@ -3256,7 +3256,7 @@ void create_signal_preview_popup(void) cancel_btn = popup_add_styled_button(signal_preview_popup, "Cancel", btn_w, 30, LV_ALIGN_BOTTOM_RIGHT, right_x, -5, NULL, signal_preview_cancel_cb, NULL); // Title - popup_create_title_label(signal_preview_popup, "IR Signal Decoded", &lv_font_montserrat_16, 10); + popup_create_title_label(signal_preview_popup, "IR Signal Decoded", &lv_font_montserrat_14, 10); // Protocol info (use popup helpers for consistent layout) lv_coord_t popup_w = lv_obj_get_width(signal_preview_popup); diff --git a/main/managers/views/keyboard_screen.c b/main/managers/views/keyboard_screen.c index 9c9071972..aa91f59a4 100644 --- a/main/managers/views/keyboard_screen.c +++ b/main/managers/views/keyboard_screen.c @@ -714,7 +714,7 @@ static void keyboard_create() { } if(i == encoder_sel_idx) { lv_obj_set_style_text_color(encoder_labels[i], lv_color_hex(0xFFFFFF), 0); - lv_obj_set_style_text_font(encoder_labels[i], &lv_font_montserrat_24, 0); + lv_obj_set_style_text_font(encoder_labels[i], &lv_font_montserrat_14, 0); } else { lv_obj_set_style_text_color(encoder_labels[i], lv_color_hex(0x888888), 0); lv_obj_set_style_text_font(encoder_labels[i], &lv_font_montserrat_14, 0); @@ -799,7 +799,7 @@ static void handle_hardware_button_press_keyboard(InputEvent *event) { lv_obj_set_style_text_font(encoder_labels[prev], &lv_font_montserrat_14, 0); } lv_obj_set_style_text_color(encoder_labels[encoder_sel_idx], lv_color_hex(0xFFFFFF), 0); - lv_obj_set_style_text_font(encoder_labels[encoder_sel_idx], &lv_font_montserrat_24, 0); + lv_obj_set_style_text_font(encoder_labels[encoder_sel_idx], &lv_font_montserrat_14, 0); if (event->data.encoder.button) { const char *sel = encoder_items[encoder_sel_idx]; if(strcmp(sel, "Aa") == 0) { @@ -828,7 +828,7 @@ static void handle_hardware_button_press_keyboard(InputEvent *event) { lv_label_set_text(encoder_labels[i], encoder_items[i]); bool sel_i = (i == encoder_sel_idx); lv_obj_set_style_text_color(encoder_labels[i], sel_i ? lv_color_hex(0xFFFFFF) : lv_color_hex(0x888888), 0); - lv_obj_set_style_text_font(encoder_labels[i], sel_i ? &lv_font_montserrat_24 : &lv_font_montserrat_14, 0); + lv_obj_set_style_text_font(encoder_labels[i], sel_i ? &lv_font_montserrat_14 : &lv_font_montserrat_14, 0); int lbl_w = lv_obj_get_width(encoder_labels[i]); int enc_h = lv_obj_get_height(encoder_cont); lv_obj_set_pos(encoder_labels[i], encoder_offset_x + i * encoder_item_spacing + (encoder_item_spacing - lbl_w) / 2, (enc_h - 24) / 2); @@ -846,7 +846,7 @@ static void handle_hardware_button_press_keyboard(InputEvent *event) { lv_label_set_text(encoder_labels[i], encoder_items[i]); bool sel_i = (i == encoder_sel_idx); lv_obj_set_style_text_color(encoder_labels[i], sel_i ? lv_color_hex(0xFFFFFF) : lv_color_hex(0x888888), 0); - lv_obj_set_style_text_font(encoder_labels[i], sel_i ? &lv_font_montserrat_24 : &lv_font_montserrat_14, 0); + lv_obj_set_style_text_font(encoder_labels[i], sel_i ? &lv_font_montserrat_14 : &lv_font_montserrat_14, 0); int lbl_w = lv_obj_get_width(encoder_labels[i]); int enc_h = lv_obj_get_height(encoder_cont); lv_obj_set_pos(encoder_labels[i], encoder_offset_x + i * encoder_item_spacing + (encoder_item_spacing - lbl_w) / 2, (enc_h - 24) / 2); diff --git a/main/managers/views/main_menu_screen.c b/main/managers/views/main_menu_screen.c index 4da2a8352..822911728 100644 --- a/main/managers/views/main_menu_screen.c +++ b/main/managers/views/main_menu_screen.c @@ -74,7 +74,7 @@ typedef struct { // Define colors as compile-time constants menu_item_t menu_items[] = { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) {"BLE", &bluetooth, 0, {{0}}}, #endif {"WiFi", &wifi, 1, {{0}}}, // applies to all boards @@ -428,7 +428,7 @@ static void update_menu_item(bool slide_left) { if (LV_HOR_RES > 150) { lv_obj_t *label = lv_label_create(current_item_obj); lv_label_set_text(label, menu_items[menu_index].name); - lv_obj_set_style_text_font(label, &lv_font_montserrat_12, 0); + lv_obj_set_style_text_font(label, &lv_font_montserrat_14, 0); lv_obj_set_style_text_color(label, lv_color_hex(0xFFFFFF), 0); lv_obj_align(label, LV_ALIGN_BOTTOM_MID, 0, -5); carousel_cache.label = label; @@ -849,7 +849,7 @@ static void handle_menu_item_selection(int item_index) { } menu_action_t; static const menu_action_t menu_actions[] = { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) {"BLE", OT_Bluetooth, &options_menu_view}, #endif {"WiFi", OT_Wifi, &options_menu_view}, @@ -1029,7 +1029,7 @@ static void create_grid_menu(void) { lv_obj_t *label = lv_label_create(grid_cards[i]); lv_label_set_text(label, menu_items[menu_index].name); // smaller font on small tiles - const lv_font_t *lbl_font = (ch <= 50 ? &lv_font_montserrat_10 : &lv_font_montserrat_12); + const lv_font_t *lbl_font = &lv_font_montserrat_14; lv_obj_set_style_text_font(label, lbl_font, 0); lv_obj_set_style_text_color(label, lv_color_hex(0xFFFFFF), 0); // Center label within the card and ensure proper centering of text @@ -1127,7 +1127,7 @@ static void create_list_menu(void) { lv_obj_t *label = lv_label_create(btn); lv_label_set_text(label, menu_items[menu_index].name); lv_obj_set_style_text_color(label, lv_color_hex(0xFFFFFF), 0); - const lv_font_t *lbl_font = (button_height <= 38) ? &lv_font_montserrat_12 : &lv_font_montserrat_14; + const lv_font_t *lbl_font = &lv_font_montserrat_14; lv_obj_set_style_text_font(label, lbl_font, 0); lv_label_set_long_mode(label, LV_LABEL_LONG_DOT); lv_obj_set_flex_grow(label, 1); @@ -1279,7 +1279,7 @@ void main_menu_create(void) { lv_obj_t *left_label = lv_label_create(left_nav_btn); lv_label_set_text(left_label, "<"); // increase arrow size for better visibility - lv_obj_set_style_text_font(left_label, &lv_font_montserrat_18, 0); + lv_obj_set_style_text_font(left_label, &lv_font_montserrat_14, 0); if (btn_size < 40) { lv_obj_set_style_text_font(left_label, &lv_font_montserrat_14, 0); } @@ -1302,7 +1302,7 @@ void main_menu_create(void) { lv_obj_t *right_label = lv_label_create(right_nav_btn); lv_label_set_text(right_label, ">"); // increase arrow size for better visibility - lv_obj_set_style_text_font(right_label, &lv_font_montserrat_18, 0); + lv_obj_set_style_text_font(right_label, &lv_font_montserrat_14, 0); if (btn_size < 40) { lv_obj_set_style_text_font(right_label, &lv_font_montserrat_14, 0); } diff --git a/main/managers/views/music_visualizer.c b/main/managers/views/music_visualizer.c index b08330097..85ee77ad7 100644 --- a/main/managers/views/music_visualizer.c +++ b/main/managers/views/music_visualizer.c @@ -84,16 +84,8 @@ void music_visualizer_view_create() { const lv_font_t *track_label_font; const lv_font_t *artist_label_font; - if (LV_HOR_RES <= 128) { - track_label_font = &lv_font_montserrat_12; - artist_label_font = &lv_font_montserrat_10; - } else if (LV_HOR_RES <= 240) { - track_label_font = &lv_font_montserrat_16; - artist_label_font = &lv_font_montserrat_12; - } else { - track_label_font = &lv_font_montserrat_24; - artist_label_font = &lv_font_montserrat_16; - } + track_label_font = &lv_font_montserrat_14; + artist_label_font = &lv_font_montserrat_14; int label_x_offset = LV_HOR_RES / 12; int label_y_offset = LV_VER_RES / 8; diff --git a/main/managers/views/nfc_view.c b/main/managers/views/nfc_view.c index e18c98f1d..e36a9c453 100644 --- a/main/managers/views/nfc_view.c +++ b/main/managers/views/nfc_view.c @@ -1110,7 +1110,7 @@ static void init_styles(void) { } static const lv_font_t* get_menu_font(void) { - return (LV_VER_RES <= 240) ? &lv_font_montserrat_14 : &lv_font_montserrat_16; + return &lv_font_montserrat_14; } static void vertically_center_label(lv_obj_t *label, lv_obj_t *btn) { @@ -2111,11 +2111,11 @@ static void create_nfc_scan_popup(void) { nfc_scan_popup = popup_create_container_with_offset(lv_scr_act(), popup_w, popup_h, y_offset); // Fonts - const lv_font_t *title_font = (LV_VER_RES <= 240) ? &lv_font_montserrat_14 : &lv_font_montserrat_16; + const lv_font_t *title_font = &lv_font_montserrat_14; nfc_title_label = popup_create_title_label(nfc_scan_popup, "Scanning NFC...", title_font, 22); // Placeholder fields (UID / Type) - const lv_font_t *body_font = (LV_VER_RES <= 240) ? &lv_font_montserrat_12 : &lv_font_montserrat_14; + const lv_font_t *body_font = &lv_font_montserrat_14; nfc_uid_label = popup_create_body_label(nfc_scan_popup, "UID: -- -- -- -- -- -- -- --", 0, false, body_font, 40); if (nfc_uid_label) lv_obj_set_style_text_color(nfc_uid_label, lv_color_hex(0xCCCCCC), 0); @@ -2445,7 +2445,7 @@ static void nfc_update_details_scroll_layout(void) { static void nfc_show_details_view(bool show) { if (!nfc_scan_popup || !lv_obj_is_valid(nfc_scan_popup)) return; - const lv_font_t *body_font = (LV_VER_RES <= 240) ? &lv_font_montserrat_12 : &lv_font_montserrat_14; + const lv_font_t *body_font = &lv_font_montserrat_14; if (show) { // Hide summary fields if (nfc_uid_label) lv_obj_add_flag(nfc_uid_label, LV_OBJ_FLAG_HIDDEN); @@ -2968,8 +2968,8 @@ static void create_keys_popup(void) { } keys_popup = popup_create_container_with_offset(lv_scr_act(), popup_w, popup_h, y_offset); - const lv_font_t *title_font = (LV_VER_RES <= 240) ? &lv_font_montserrat_14 : &lv_font_montserrat_16; - const lv_font_t *body_font = (LV_VER_RES <= 240) ? &lv_font_montserrat_12 : &lv_font_montserrat_14; + const lv_font_t *title_font = &lv_font_montserrat_14; + const lv_font_t *body_font = &lv_font_montserrat_14; keys_title_label = popup_create_title_label(keys_popup, "User MFC Keys", title_font, 10); @@ -3274,8 +3274,8 @@ static void create_cu_popup(void) { } cu_popup = popup_create_container_with_offset(lv_scr_act(), popup_w, popup_h, y_offset); - const lv_font_t *title_font = (LV_VER_RES <= 240) ? &lv_font_montserrat_14 : &lv_font_montserrat_16; - const lv_font_t *body_font = (LV_VER_RES <= 240) ? &lv_font_montserrat_12 : &lv_font_montserrat_14; + const lv_font_t *title_font = &lv_font_montserrat_14; + const lv_font_t *body_font = &lv_font_montserrat_14; cu_title_label = popup_create_title_label(cu_popup, "Chameleon Ultra", title_font, 10); cu_details_label = popup_create_body_label(cu_popup, "", LV_HOR_RES - 50, true, body_font, 26); @@ -3799,8 +3799,8 @@ static void create_nfc_write_popup(const char *path) { } nfc_write_popup = popup_create_container_with_offset(lv_scr_act(), popup_w, popup_h, y_offset); - const lv_font_t *title_font = (LV_VER_RES <= 240) ? &lv_font_montserrat_14 : &lv_font_montserrat_16; - const lv_font_t *body_font = (LV_VER_RES <= 240) ? &lv_font_montserrat_12 : &lv_font_montserrat_14; + const lv_font_t *title_font = &lv_font_montserrat_14; + const lv_font_t *body_font = &lv_font_montserrat_14; const char *nfc_write_title_text = g_write_image_valid ? "Write Tag" : #ifdef CONFIG_NFC_PN532 @@ -4011,8 +4011,8 @@ static void create_saved_details_popup(const char *path) { } saved_popup = popup_create_container_with_offset(lv_scr_act(), popup_w, popup_h, y_offset); - const lv_font_t *title_font = (LV_VER_RES <= 240) ? &lv_font_montserrat_14 : &lv_font_montserrat_16; - const lv_font_t *body_font = (LV_VER_RES <= 240) ? &lv_font_montserrat_12 : &lv_font_montserrat_14; + const lv_font_t *title_font = &lv_font_montserrat_14; + const lv_font_t *body_font = &lv_font_montserrat_14; saved_title_label = popup_create_title_label(saved_popup, "Saved Tag", title_font, 10); diff --git a/main/managers/views/number_pad_screen.c b/main/managers/views/number_pad_screen.c index dc1e42347..60bec9510 100644 --- a/main/managers/views/number_pad_screen.c +++ b/main/managers/views/number_pad_screen.c @@ -121,7 +121,7 @@ static void number_pad_create() { lv_obj_set_style_outline_width(root, 0, 0); // Remove outline - const lv_font_t *font = (screen_height >= 240) ? &lv_font_montserrat_16 : &lv_font_montserrat_12; + const lv_font_t *font = &lv_font_montserrat_14; int padding = 10; int display_height = (screen_height >= 240) ? 40 : 30; diff --git a/main/managers/views/options_screen.c b/main/managers/views/options_screen.c index 64973033f..7ce6709c5 100644 --- a/main/managers/views/options_screen.c +++ b/main/managers/views/options_screen.c @@ -553,7 +553,7 @@ static void decorate_settings_row_with_arrows(lv_obj_t *btn) { lv_obj_set_style_pad_left(btn, 8, 0); lv_obj_set_style_pad_right(btn, 8, 0); - const lv_font_t *font = (button_height_global <= 40) ? &lv_font_montserrat_12 : &lv_font_montserrat_14; + const lv_font_t *font = &lv_font_montserrat_14; lv_obj_set_style_text_font(left, font, 0); lv_obj_set_style_text_font(right, font, 0); @@ -1888,7 +1888,7 @@ void option_event_cb(lv_event_t *e) { simulateCommand("commsend scanssh"); view_switched = true; } else if (strcmp(Selected_Option, "Start AirTag Scanner") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); terminal_set_dualcomm_filter(true); display_manager_switch_view(&terminal_view); @@ -1898,7 +1898,7 @@ void option_event_cb(lv_event_t *e) { error_popup_create("Device Does not Support Bluetooth..."); #endif } else if (strcmp(Selected_Option, "List AirTags") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); terminal_set_dualcomm_filter(true); display_manager_switch_view(&terminal_view); @@ -1908,7 +1908,7 @@ void option_event_cb(lv_event_t *e) { error_popup_create("Device Does not Support Bluetooth..."); #endif } else if (strcmp(Selected_Option, "Select AirTag") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) set_number_pad_mode(NP_MODE_AIRTAG_REMOTE); display_manager_switch_view(&number_pad_view); view_switched = true; @@ -1916,7 +1916,7 @@ void option_event_cb(lv_event_t *e) { error_popup_create("Device Does not Support Bluetooth..."); #endif } else if (strcmp(Selected_Option, "Spoof Selected AirTag") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); terminal_set_dualcomm_filter(true); display_manager_switch_view(&terminal_view); @@ -1926,7 +1926,7 @@ void option_event_cb(lv_event_t *e) { error_popup_create("Device Does not Support Bluetooth..."); #endif } else if (strcmp(Selected_Option, "Stop Spoofing") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); terminal_set_dualcomm_filter(true); display_manager_switch_view(&terminal_view); @@ -1936,7 +1936,7 @@ void option_event_cb(lv_event_t *e) { error_popup_create("Device Does not Support Bluetooth..."); #endif } else if (strcmp(Selected_Option, "Find Flippers") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); terminal_set_dualcomm_filter(true); display_manager_switch_view(&terminal_view); @@ -1946,7 +1946,7 @@ void option_event_cb(lv_event_t *e) { error_popup_create("Device Does not Support Bluetooth..."); #endif } else if (strcmp(Selected_Option, "List Flippers") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); terminal_set_dualcomm_filter(true); display_manager_switch_view(&terminal_view); @@ -1956,7 +1956,7 @@ void option_event_cb(lv_event_t *e) { error_popup_create("Device Does not Support Bluetooth..."); #endif } else if (strcmp(Selected_Option, "Select Flipper") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) set_number_pad_mode(NP_MODE_FLIPPER_REMOTE); display_manager_switch_view(&number_pad_view); view_switched = true; @@ -1964,7 +1964,7 @@ void option_event_cb(lv_event_t *e) { error_popup_create("Device Does not Support Bluetooth..."); #endif } else if (strcmp(Selected_Option, "Raw BLE Scanner") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); terminal_set_dualcomm_filter(true); display_manager_switch_view(&terminal_view); @@ -1974,7 +1974,7 @@ void option_event_cb(lv_event_t *e) { error_popup_create("Device Does not Support Bluetooth..."); #endif } else if (strcmp(Selected_Option, "BLE Skimmer Detect") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); terminal_set_dualcomm_filter(true); display_manager_switch_view(&terminal_view); @@ -1984,7 +1984,7 @@ void option_event_cb(lv_event_t *e) { error_popup_create("Device Does not Support Bluetooth..."); #endif } else if (strcmp(Selected_Option, "BLE Spam - Apple") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); terminal_set_dualcomm_filter(true); display_manager_switch_view(&terminal_view); @@ -1994,7 +1994,7 @@ void option_event_cb(lv_event_t *e) { error_popup_create("Device Does not Support Bluetooth..."); #endif } else if (strcmp(Selected_Option, "BLE Spam - Microsoft") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); terminal_set_dualcomm_filter(true); display_manager_switch_view(&terminal_view); @@ -2004,7 +2004,7 @@ void option_event_cb(lv_event_t *e) { error_popup_create("Device Does not Support Bluetooth..."); #endif } else if (strcmp(Selected_Option, "BLE Spam - Samsung") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); terminal_set_dualcomm_filter(true); display_manager_switch_view(&terminal_view); @@ -2014,7 +2014,7 @@ void option_event_cb(lv_event_t *e) { error_popup_create("Device Does not Support Bluetooth..."); #endif } else if (strcmp(Selected_Option, "BLE Spam - Google") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); terminal_set_dualcomm_filter(true); display_manager_switch_view(&terminal_view); @@ -2024,7 +2024,7 @@ void option_event_cb(lv_event_t *e) { error_popup_create("Device Does not Support Bluetooth..."); #endif } else if (strcmp(Selected_Option, "BLE Spam - Random") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); terminal_set_dualcomm_filter(true); display_manager_switch_view(&terminal_view); @@ -2034,7 +2034,7 @@ void option_event_cb(lv_event_t *e) { error_popup_create("Device Does not Support Bluetooth..."); #endif } else if (strcmp(Selected_Option, "Stop BLE Spam") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); display_manager_switch_view(&terminal_view); simulateCommand("commsend blespam -s"); @@ -2048,7 +2048,7 @@ void option_event_cb(lv_event_t *e) { simulateCommand("commsend gpsinfo"); view_switched = true; } else if (strcmp(Selected_Option, "BLE Wardriving") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); display_manager_switch_view(&terminal_view); simulateCommand("commsend blewardriving"); @@ -2368,7 +2368,7 @@ display_manager_switch_view(&terminal_view); } else if (strcmp(Selected_Option, "Start AirTag Scanner") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); display_manager_switch_view(&terminal_view); simulateCommand("blescan -a"); @@ -2380,7 +2380,7 @@ display_manager_switch_view(&terminal_view); } else if (strcmp(Selected_Option, "Find Flippers") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); display_manager_switch_view(&terminal_view); simulateCommand("blescan -f"); @@ -2390,7 +2390,7 @@ display_manager_switch_view(&terminal_view); #endif } else if (strcmp(Selected_Option, "List Flippers") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); display_manager_switch_view(&terminal_view); simulateCommand("listflippers"); @@ -2400,7 +2400,7 @@ display_manager_switch_view(&terminal_view); #endif } else if (strcmp(Selected_Option, "Select Flipper") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) set_number_pad_mode(NP_MODE_FLIPPER); display_manager_switch_view(&number_pad_view); view_switched = true; @@ -2409,7 +2409,7 @@ display_manager_switch_view(&terminal_view); #endif } else if (strcmp(Selected_Option, "List AirTags") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); display_manager_switch_view(&terminal_view); simulateCommand("listairtags"); @@ -2419,7 +2419,7 @@ display_manager_switch_view(&terminal_view); #endif } else if (strcmp(Selected_Option, "Select AirTag") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) set_number_pad_mode(NP_MODE_AIRTAG); display_manager_switch_view(&number_pad_view); view_switched = true; @@ -2430,7 +2430,7 @@ display_manager_switch_view(&terminal_view); } else if (strcmp(Selected_Option, "Spoof Selected AirTag") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); display_manager_switch_view(&terminal_view); simulateCommand("spoofairtag"); @@ -2442,7 +2442,7 @@ display_manager_switch_view(&terminal_view); } else if (strcmp(Selected_Option, "Stop Spoofing") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); display_manager_switch_view(&terminal_view); simulateCommand("stopspoof"); @@ -2470,7 +2470,7 @@ display_manager_switch_view(&terminal_view); } else if (strcmp(Selected_Option, "Raw BLE Scanner") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); display_manager_switch_view(&terminal_view); simulateCommand("blescan -r"); @@ -2482,7 +2482,7 @@ display_manager_switch_view(&terminal_view); } else if (strcmp(Selected_Option, "BLE Skimmer Detect") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); display_manager_switch_view(&terminal_view); simulateCommand("capture -skimmer"); @@ -2494,7 +2494,7 @@ display_manager_switch_view(&terminal_view); } else if (strcmp(Selected_Option, "Start GATT Scan") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); display_manager_switch_view(&terminal_view); simulateCommand("blescan -g"); @@ -2505,7 +2505,7 @@ display_manager_switch_view(&terminal_view); } else if (strcmp(Selected_Option, "List GATT Devices") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); display_manager_switch_view(&terminal_view); simulateCommand("listgatt"); @@ -2516,7 +2516,7 @@ display_manager_switch_view(&terminal_view); } else if (strcmp(Selected_Option, "Select GATT Device") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) set_number_pad_mode(NP_MODE_GATT); display_manager_switch_view(&number_pad_view); view_switched = true; @@ -2526,7 +2526,7 @@ display_manager_switch_view(&terminal_view); } else if (strcmp(Selected_Option, "Enumerate Services") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); display_manager_switch_view(&terminal_view); simulateCommand("enumgatt"); @@ -2537,7 +2537,7 @@ display_manager_switch_view(&terminal_view); } else if (strcmp(Selected_Option, "Track Device") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); display_manager_switch_view(&terminal_view); simulateCommand("trackgatt"); @@ -2555,7 +2555,7 @@ display_manager_switch_view(&terminal_view); } else if (strcmp(Selected_Option, "BLE Wardriving") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); display_manager_switch_view(&terminal_view); simulateCommand("blewardriving"); @@ -2647,7 +2647,7 @@ display_manager_switch_view(&terminal_view); } else if (strcmp(Selected_Option, "BLE Spam - Apple") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); display_manager_switch_view(&terminal_view); simulateCommand("blespam -apple"); @@ -2658,7 +2658,7 @@ display_manager_switch_view(&terminal_view); } else if (strcmp(Selected_Option, "BLE Spam - Microsoft") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); display_manager_switch_view(&terminal_view); simulateCommand("blespam -ms"); @@ -2669,7 +2669,7 @@ display_manager_switch_view(&terminal_view); } else if (strcmp(Selected_Option, "BLE Spam - Samsung") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); display_manager_switch_view(&terminal_view); simulateCommand("blespam -samsung"); @@ -2680,7 +2680,7 @@ display_manager_switch_view(&terminal_view); } else if (strcmp(Selected_Option, "BLE Spam - Google") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); display_manager_switch_view(&terminal_view); simulateCommand("blespam -google"); @@ -2691,7 +2691,7 @@ display_manager_switch_view(&terminal_view); } else if (strcmp(Selected_Option, "BLE Spam - Random") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); display_manager_switch_view(&terminal_view); simulateCommand("blespam -random"); @@ -2702,7 +2702,7 @@ display_manager_switch_view(&terminal_view); } else if (strcmp(Selected_Option, "Stop BLE Spam") == 0) { -#ifndef CONFIG_IDF_TARGET_ESP32S2 +#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32P4) terminal_set_return_view(&options_menu_view); display_manager_switch_view(&terminal_view); simulateCommand("blespam -s"); diff --git a/main/managers/views/setup_wizard_screen.c b/main/managers/views/setup_wizard_screen.c index 4914bf57a..0d7f31c93 100644 --- a/main/managers/views/setup_wizard_screen.c +++ b/main/managers/views/setup_wizard_screen.c @@ -191,16 +191,11 @@ static void update_welcome_btn_focus(void) { #define USABLE_W LV_HOR_RES static const lv_font_t *get_title_font(void) { - if (LV_VER_RES <= 100) return &lv_font_montserrat_10; - if (LV_VER_RES <= 160) return &lv_font_montserrat_12; - if (LV_VER_RES <= 280) return &lv_font_montserrat_14; - return &lv_font_montserrat_16; + return &lv_font_montserrat_14; } static const lv_font_t *get_body_font(void) { - if (LV_VER_RES <= 100) return &lv_font_montserrat_10; - if (LV_VER_RES <= 200) return &lv_font_montserrat_10; - return &lv_font_montserrat_12; + return &lv_font_montserrat_14; } static void show_welcome_screen(void) { diff --git a/main/managers/views/terminal_screen.c b/main/managers/views/terminal_screen.c index fb527548d..1c6dfd347 100644 --- a/main/managers/views/terminal_screen.c +++ b/main/managers/views/terminal_screen.c @@ -730,7 +730,7 @@ void terminal_view_create(void) { lv_obj_set_style_border_width(terminal_canvas, 0, 0); // Match previous label style lv_obj_set_style_text_color(terminal_canvas, lv_color_hex(settings_get_terminal_text_color(&G_Settings)), 0); - lv_obj_set_style_text_font(terminal_canvas, &lv_font_montserrat_10, 0); + lv_obj_set_style_text_font(terminal_canvas, &lv_font_montserrat_14, 0); lv_obj_add_event_cb(terminal_canvas, terminal_canvas_draw_event, LV_EVENT_DRAW_MAIN, NULL); lv_obj_add_event_cb(terminal_canvas, terminal_canvas_size_event, LV_EVENT_SIZE_CHANGED, NULL); lv_obj_add_event_cb(terminal_scroller, terminal_canvas_size_event, LV_EVENT_SIZE_CHANGED, NULL); diff --git a/main/managers/wifi_manager.c b/main/managers/wifi_manager.c index d581ff73b..3b059b004 100644 --- a/main/managers/wifi_manager.c +++ b/main/managers/wifi_manager.c @@ -664,6 +664,7 @@ static void reverse_mac(const uint8_t *src, uint8_t *dst) { } } +#if !defined(CONFIG_IDF_TARGET_ESP32P4) void wifi_stations_sniffer_callback(void *buf, wifi_promiscuous_pkt_type_t type) { // Focus on Management frames like the example, can be changed back to WIFI_PKT_DATA if needed if (type != WIFI_PKT_MGMT) { @@ -775,6 +776,7 @@ void wifi_stations_sniffer_callback(void *buf, wifi_promiscuous_pkt_type_t type) // printf("DEBUG: Filtered packet - Station MAC already seen.\n"); } } +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) esp_err_t stream_data_to_client(httpd_req_t *req, const char *url, const char *content_type) { httpd_resp_set_hdr(req, "Connection", "close"); @@ -1531,7 +1533,10 @@ void wifi_manager_clear_scan_results(void) { } } +#if !defined(CONFIG_IDF_TARGET_ESP32P4) void wifi_manager_start_monitor_mode(wifi_promiscuous_cb_t_t callback) { + // Note: Callback function comparisons are only valid when callbacks are available + // For ESP32-P4, this entire function is replaced with a stub if (callback == wifi_eapol_scan_callback) { ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_AP)); ESP_ERROR_CHECK(esp_wifi_start()); @@ -1599,6 +1604,15 @@ void wifi_manager_start_monitor_mode(wifi_promiscuous_cb_t_t callback) { TERMINAL_VIEW_ADD_TEXT("Filter: %s\n", filter_desc); status_display_show_status("Monitor Started"); } +#else +void wifi_manager_start_monitor_mode(wifi_promiscuous_cb_t_t callback) { + (void)callback; + glog("WiFi monitor mode not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +} +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) + +#if !defined(CONFIG_IDF_TARGET_ESP32P4) void wifi_manager_stop_monitor_mode() { wifi_mode_t mode = WIFI_MODE_NULL; esp_err_t wifi_status = esp_wifi_get_mode(&mode); @@ -1623,7 +1637,14 @@ void wifi_manager_stop_monitor_mode() { // NOTE: Stopping the PineAP timer (channel_hop_timer) is handled by stop_pineap_detection() in callbacks.c } +#else +void wifi_manager_stop_monitor_mode() { + glog("WiFi monitor mode not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +} +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) +#if !defined(CONFIG_IDF_TARGET_ESP32P4) void wifi_manager_init(void) { // --- Memory check before WiFi init --- @@ -1724,7 +1745,14 @@ void wifi_manager_init(void) { printf("Failed to initialize global CA certificate store: %s\n", esp_err_to_name(ret)); } } +#else +void wifi_manager_init(void) { + glog("WiFi manager not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +} +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) +#if !defined(CONFIG_IDF_TARGET_ESP32P4) void wifi_manager_configure_sta_from_settings(void) { // Configure STA with saved credentials for boot-time connection const char *saved_ssid = settings_get_sta_ssid(&G_Settings); @@ -1763,7 +1791,13 @@ void wifi_manager_configure_sta_from_settings(void) { printf("No saved WiFi credentials found\n"); } } +#else +void wifi_manager_configure_sta_from_settings(void) { + glog("WiFi STA configuration not supported on ESP32-P4\n"); +} +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) +#if !defined(CONFIG_IDF_TARGET_ESP32P4) void wifi_manager_start_scan() { log_heap_status(TAG, "scan_start_pre"); // Free any previous selections or scan buffers before starting a fresh scan @@ -1836,6 +1870,12 @@ void wifi_manager_start_scan() { esp_wifi_stop(); ap_manager_start_services(); } +#else +void wifi_manager_start_scan() { + glog("WiFi scan not supported on ESP32-P4\n"); + status_display_show_status("Not Supported"); +} +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) // Stop scanning for networks void wifi_manager_stop_scan() { @@ -4065,6 +4105,7 @@ static bool bssid_already_listed(const uint8_t *bssid) { } return false; } +#if !defined(CONFIG_IDF_TARGET_ESP32P4) static void live_ap_scan_callback(void *buf, wifi_promiscuous_pkt_type_t type) { if (type != WIFI_PKT_MGMT) return; const wifi_promiscuous_pkt_t *pkt = (wifi_promiscuous_pkt_t *)buf; @@ -4186,6 +4227,7 @@ static void live_ap_scan_callback(void *buf, wifi_promiscuous_pkt_type_t type) { live_last_printed_index++; } } +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) void wifi_manager_start_live_ap_scan(void) { ap_manager_stop_services(); @@ -6074,6 +6116,7 @@ void wifi_manager_sae_flood_help(void) { /** * SAE monitoring callback to handle commit/confirm responses and anti-clogging tokens */ +#if !defined(CONFIG_IDF_TARGET_ESP32P4) static void sae_monitor_callback(void *buf, wifi_promiscuous_pkt_type_t type) { if (type != WIFI_PKT_MGMT) return; @@ -6167,9 +6210,11 @@ static void sae_monitor_callback(void *buf, wifi_promiscuous_pkt_type_t type) { ESP_LOGI("SAE_RX", "confirm status=%u", (unsigned)status_code); } } +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) /** * Inject SAE confirm frame after successful commit exchange */ +#if !defined(CONFIG_IDF_TARGET_ESP32P4) static bool karma_running = false; static TaskHandle_t karma_task_handle = NULL; @@ -6180,7 +6225,6 @@ static int karma_ssid_index = 0; static uint32_t last_ssid_change_time = 0; static bool karma_ssid_manual_mode = false; - // Helper to add SSID to cache if not present static void karma_add_ssid(const char *ssid) { if (ssid == NULL || strlen(ssid) == 0) return; @@ -6211,7 +6255,9 @@ void wifi_manager_set_karma_ssid_list(const char **ssids, int count) { karma_ssid_index = 0; karma_ssid_manual_mode = true; } +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) +#if !defined(CONFIG_IDF_TARGET_ESP32P4) // Helper function to send a probe response to a station static void karma_send_probe_response(const uint8_t *sta_mac, const char *ssid) { uint8_t resp[128] = {0}; @@ -6266,7 +6312,9 @@ static void karma_send_probe_response(const uint8_t *sta_mac, const char *ssid) sta_mac[0], sta_mac[1], sta_mac[2], sta_mac[3], sta_mac[4], sta_mac[5], ssid, esp_err_to_name(err)); } } +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) +#if !defined(CONFIG_IDF_TARGET_ESP32P4) static void karma_probe_request_callback(void *buf, wifi_promiscuous_pkt_type_t type) { if (type != WIFI_PKT_MGMT) return; const wifi_promiscuous_pkt_t *pkt = (wifi_promiscuous_pkt_t *)buf; @@ -6297,7 +6345,9 @@ static void karma_probe_request_callback(void *buf, wifi_promiscuous_pkt_type_t ssid_offset += payload[ssid_offset + 1] + 2; } } +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4) +#if !defined(CONFIG_IDF_TARGET_ESP32P4) static void karma_start_portal_for_ssid(const char *ssid) { // Use the default portal, SSID as AP name, open AP (no password) if (!karma_portal_active) { @@ -6388,6 +6438,7 @@ static void karma_task(void *param) { TERMINAL_VIEW_ADD_TEXT("Karma attack stopped\n"); vTaskDelete(NULL); } + void wifi_manager_start_karma(void) { if (karma_running) { printf("Karma attack already running\n"); @@ -6414,3 +6465,4 @@ void wifi_manager_stop_karma(void) { karma_ssid_manual_mode = false; // Task will clean up itself } +#endif // !defined(CONFIG_IDF_TARGET_ESP32P4)