Files
firmware/variants/esp32p4/crowpanel-advanced-p4/platformio.ini
T

194 lines
5.8 KiB
INI

[env:crowpanel-advanced-p4-50]
extends = esp32p4_base
board = crowpanel-p4
board_check = true
board_build.partitions = default_16MB.csv
build_src_filter =
${esp32p4_base.build_src_filter}
+<../variants/esp32p4/crowpanel-advanced-p4>
build_flags =
${esp32p4_base.build_flags}
-D CROWPANEL_ADV_P4
-D CROWPANEL_ADV_P4_50
-I variants/esp32p4/crowpanel-advanced-p4
-D ARDUINO_USB_CDC_ON_BOOT=0
-D ARDUINO_USB_MODE=1
-D MESHTASTIC_EXCLUDE_WEBSERVER=1
-D MESHTASTIC_EXCLUDE_CANNEDMESSAGES=1
-D MESHTASTIC_EXCLUDE_INPUTBROKER=1
-D MAX_NUM_NODES=500
-D MAX_NUM_NODES_VIEW=500
; -DSOC_USB_OTG_SUPPORTED=1
-D CONFIG_DISABLE_HAL_LOCKS=1 ; "feels" to be a bit more stable without locks
; -D INPUTDRIVER_BUTTON_TYPE=0
-D HAS_SDCARD
-D HAS_SD_MMC
-D BOARD_MAX_SDMMC_FREQ=100000
-D BOARD_HAS_1BIT_SDMMC
-D SD_SCLK_PIN=43
-D SD_MISO_PIN=39
-D SD_MOSI_PIN=44
-D SD_MMC_HOST_SLOT=SDMMC_HOST_SLOT_1
-D HAS_SCREEN=1
-D HAS_TFT=1
; -D USE_I2S_BUZZER
-D RAM_SIZE=10240
-D LV_LVGL_H_INCLUDE_SIMPLE
-D LV_CONF_INCLUDE_SIMPLE
-D LV_COMP_CONF_INCLUDE_SIMPLE
-D LV_USE_SYSMON=0
-D LV_USE_PROFILER=0
-D LV_USE_PERF_MONITOR=0
-D LV_USE_MEM_MONITOR=0
-D LV_USE_LOG=0
-D LV_CACHE_DEF_SIZE=3400000
-D USE_LOG_DEBUG
-D LOG_DEBUG_INC=\"DebugConfiguration.h\"
-D RADIOLIB_SPI_PARANOID=0
-D LGFX_SCREEN_WIDTH=800
-D LGFX_SCREEN_HEIGHT=480
-D DISPLAY_SIZE=800x480 ; landscape mode
-D LGFX_DRIVER=LGFX_ELECROW_P4_50
-D GFX_DRIVER_INC=\"graphics/LGFX/LGFX_ELECROW_P4_50.h\"
-D LGFX_BUFSIZE=1152000
-D LGFX_SKIP_RGB565_SWAP
-D VIEW_320x240
-D DISPLAY_SET_RESOLUTION
-D USE_PACKET_API
-D MAP_FULL_REDRAW
lib_deps =
${esp32p4_base.lib_deps}
${device-ui_base.lib_deps}
https://github.com/lovyan03/LovyanGFX#develop
custom_sdkconfig =
${esp32p4_base.custom_sdkconfig}
# Disable external SDMMC IO power control to avoid GPIO conflicts
CONFIG_SOC_SDMMC_IO_POWER_EXTERNAL=n
# CONFIG_BT_BLE_50_FEATURES_SUPPORTED is not set
CONFIG_BT_BLE_42_FEATURES_SUPPORTED=y
# Force hosted transport/target selection for this env.
CONFIG_ESP_HOSTED_SDIO_4_BIT_BUS=y
CONFIG_ESP_HOSTED_SDIO_CLOCK_FREQ_KHZ=40000
# CrowPanel SDIO pins
CONFIG_ESP_HOSTED_PRIV_SDIO_PIN_CMD_SLOT_1=54
CONFIG_ESP_HOSTED_PRIV_SDIO_PIN_CLK_SLOT_1=53
CONFIG_ESP_HOSTED_PRIV_SDIO_PIN_D0_SLOT_1=52
CONFIG_ESP_HOSTED_PRIV_SDIO_PIN_D1_4BIT_BUS_SLOT_1=51
CONFIG_ESP_HOSTED_PRIV_SDIO_PIN_D2_4BIT_BUS_SLOT_1=50
CONFIG_ESP_HOSTED_PRIV_SDIO_PIN_D3_4BIT_BUS_SLOT_1=49
# Also set resolved SDIO pins explicitly so generated sdkconfig does not
# retain stale template values from framework sdkconfig.
CONFIG_ESP_HOSTED_SDIO_PIN_CMD=54
CONFIG_ESP_HOSTED_SDIO_PIN_CLK=53
CONFIG_ESP_HOSTED_SDIO_PIN_D0=52
CONFIG_ESP_HOSTED_SDIO_PIN_D1=51
CONFIG_ESP_HOSTED_SDIO_PIN_D2=50
CONFIG_ESP_HOSTED_SDIO_PIN_D3=49
CONFIG_ESP_HOSTED_SDIO_PRIV_PIN_D1_4BIT_BUS=51
# SDIO Slot 1 via GPIO matrix
CONFIG_ESP_HOSTED_SDIO_SLOT_1=y
CONFIG_ESP_HOSTED_SDIO_RESET_ACTIVE_HIGH=y
CONFIG_ESP_HOSTED_SDIO_GPIO_RESET_SLAVE=20
CONFIG_ESP_HOSTED_GPIO_SLAVE_RESET_SLAVE=20
[env:crowpanel-advanced-p4-70-90-101]
extends = esp32p4_base
board = esp32-p4-evboard
board_check = true
board_build.partitions = default_16MB.csv
build_src_filter =
${esp32p4_base.build_src_filter}
+<../variants/esp32p4/crowpanel-advanced-p4>
build_flags =
${esp32p4_base.build_flags}
-D CROWPANEL_ADV_P4
-D CROWPANEL_ADV_P4_70_90_101
-I variants/esp32p4/crowpanel-advanced-p4
-D ARDUINO_USB_CDC_ON_BOOT=0
-D ARDUINO_USB_MODE=1
-D MESHTASTIC_EXCLUDE_WEBSERVER=1
-D MESHTASTIC_EXCLUDE_CANNEDMESSAGES=1
-D MESHTASTIC_EXCLUDE_INPUTBROKER=1
-D MAX_NUM_NODES=500
-D MAX_NUM_NODES_VIEW=500
; -DSOC_USB_OTG_SUPPORTED=1
-D CONFIG_DISABLE_HAL_LOCKS=1 ; "feels" to be a bit more stable without locks
; -D INPUTDRIVER_BUTTON_TYPE=0
-D HAS_SDCARD
-D HAS_SD_MMC
-D BOARD_MAX_SDMMC_FREQ=10000
-D BOARD_HAS_1BIT_SDMMC
-D SD_SCLK_PIN=43
-D SD_MISO_PIN=39
-D SD_MOSI_PIN=44
-D SD_MMC_HOST_SLOT=SDMMC_HOST_SLOT_0
-D HAS_SCREEN=1
-D HAS_TFT=1
; -D USE_I2S_BUZZER
-D RAM_SIZE=12288
-D LV_LVGL_H_INCLUDE_SIMPLE
-D LV_CONF_INCLUDE_SIMPLE
-D LV_COMP_CONF_INCLUDE_SIMPLE
-D LV_USE_SYSMON=1
-D LV_USE_PROFILER=0
-D LV_USE_PERF_MONITOR=1
-D LV_USE_MEM_MONITOR=0
-D LV_USE_LOG=0
-D LV_CACHE_DEF_SIZE=5600000
-D USE_LOG_DEBUG
-D LOG_DEBUG_INC=\"DebugConfiguration.h\"
-D LORA_SPI_FREQUENCY=1000000
-D BOARD_LORA_MAX_TX_POWER=17
-D SX126X_CURRENT_LIMIT_MA=100
-D RADIOLIB_SPI_PARANOID=0
-D LGFX_SCREEN_WIDTH=1024
-D LGFX_SCREEN_HEIGHT=600
-D DISPLAY_SIZE=1024x600 ; landscape mode
-D LGFX_DRIVER=LGFX_ELECROW_P4_70_90_101
-D GFX_DRIVER_INC=\"graphics/LGFX/LGFX_ELECROW_P4_70_90_101.h\"
-D LGFX_BUFSIZE=614400
-D VIEW_320x240
-D DISPLAY_SET_RESOLUTION
-D USE_PACKET_API
; -D MAP_FULL_REDRAW
lib_deps =
${esp32p4_base.lib_deps}
${device-ui_base.lib_deps}
https://github.com/lovyan03/LovyanGFX#develop
custom_sdkconfig =
${esp32p4_base.custom_sdkconfig}
CONFIG_SOC_SDMMC_IO_POWER_EXTERNAL=n
# CONFIG_BT_BLE_50_FEATURES_SUPPORTED is not set
CONFIG_BT_BLE_42_FEATURES_SUPPORTED=y
# SDIO Slot 1 via GPIO matrix
CONFIG_ESP_HOSTED_SDIO_SLOT_1=y
# 1-bit bus (proven stable on CrowPanel)
CONFIG_ESP_HOSTED_SDIO_1_BIT_BUS=y
CONFIG_ESP_HOSTED_SDIO_BUS_WIDTH=1
# Conservative 10 MHz clock for OTA reliability
CONFIG_ESP_HOSTED_SDIO_CLOCK_FREQ_KHZ=10000
# CrowPanel SDIO pins (happen to match P4 Slot 1 defaults)
CONFIG_ESP_HOSTED_PRIV_SDIO_PIN_CLK_SLOT_1=18
CONFIG_ESP_HOSTED_PRIV_SDIO_PIN_CMD_SLOT_1=19
CONFIG_ESP_HOSTED_PRIV_SDIO_PIN_D0_SLOT_1=14
CONFIG_ESP_HOSTED_PRIV_SDIO_PIN_D1_1BIT_BUS_SLOT_1=15
# Reset pin: GPIO32, active high (R77 pullup on CrowPanel)
CONFIG_ESP_HOSTED_SDIO_RESET_ACTIVE_HIGH=y
CONFIG_ESP_HOSTED_SDIO_GPIO_RESET_SLAVE=32
CONFIG_ESP_HOSTED_GPIO_SLAVE_RESET_SLAVE=32