; First prototype nrf52840/sx1262 device
[heltec_mesh_solar_base]
extends = nrf52840_base
board = heltec_mesh_solar
board_level = pr
debug_tool = jlink

# add -DCFG_SYSVIEW if you want to use the Segger systemview tool for OS profiling.
build_flags = ${nrf52840_base.build_flags}
  -Ivariants/nrf52840/heltec_mesh_solar
  -DHELTEC_MESH_SOLAR

build_src_filter = ${nrf52_base.build_src_filter} +<../variants/nrf52840/heltec_mesh_solar>
lib_deps = 
  ${nrf52840_base.lib_deps}
  https://github.com/NMIoT/meshsolar/archive/dfc5330dad443982e6cdd37a61d33fc7252f468b.zip
  lewisxhe/PCF8563_Library@^1.0.1
  ArduinoJson@6.21.4
[env:heltec-mesh-solar]
extends = heltec_mesh_solar_base
build_flags = ${heltec_mesh_solar_base.build_flags}
    -DSPI_INTERFACES_COUNT=1

[env:heltec-mesh-solar-eink]
extends = heltec_mesh_solar_base
build_flags = ${heltec_mesh_solar_base.build_flags}
  -DHELTEC_MESH_SOLAR_EINK
  -DSPI_INTERFACES_COUNT=2
  -DUSE_EINK
  -DPIN_SCREEN_VDD_CTL=3
  -DPIN_EINK_CS=41
  -DPIN_EINK_BUSY=11
  -DPIN_EINK_DC=13
  -DPIN_EINK_RES=40
  -DPIN_EINK_SCLK=12
  -DPIN_EINK_MOSI=2
  -DPIN_SPI1_MISO=-1
  -DPIN_SPI1_MOSI=PIN_EINK_MOSI
  -DPIN_SPI1_SCK=PIN_EINK_SCLK
  -DEINK_DISPLAY_MODEL=GxEPD2_213_E0213A367
  -DEINK_WIDTH=250
  -DEINK_HEIGHT=122
  -DUSE_EINK_DYNAMICDISPLAY            ; Enable Dynamic EInk
  -DEINK_LIMIT_FASTREFRESH=10          ; How many consecutive fast-refreshes are permitted
  -DEINK_LIMIT_RATE_BACKGROUND_SEC=30  ; Minimum interval between BACKGROUND updates
  -DEINK_LIMIT_RATE_RESPONSIVE_SEC=1   ; Minimum interval between RESPONSIVE updates
  -DEINK_BACKGROUND_USES_FAST          ; (Optional) Use FAST refresh for both BACKGROUND and RESPONSIVE, until a limit is reached.
  -DEINK_HASQUIRK_GHOSTING             ; Display model is identified as "prone to ghosting"
lib_deps =
  ${heltec_mesh_solar_base.lib_deps}
  https://github.com/meshtastic/GxEPD2/archive/a05c11c02862624266b61599b0d6ba93e33c6f24.zip

[env:heltec-mesh-solar-inkhud]
extends = heltec_mesh_solar_base, inkhud
build_src_filter = ${heltec_mesh_solar_base.build_src_filter} ${inkhud.build_src_filter}
build_flags = ${heltec_mesh_solar_base.build_flags}
  ${inkhud.build_flags}
  -DHELTEC_MESH_SOLAR_INKHUD
  -DSPI_INTERFACES_COUNT=2
  -DPIN_SCREEN_VDD_CTL=3
  -DPIN_EINK_CS=41
  -DPIN_EINK_BUSY=11
  -DPIN_EINK_DC=13
  -DPIN_EINK_RES=40
  -DPIN_EINK_SCLK=12
  -DPIN_EINK_MOSI=2
  -DPIN_SPI1_MISO=-1
  -DPIN_SPI1_MOSI=PIN_EINK_MOSI
  -DPIN_SPI1_SCK=PIN_EINK_SCLK
lib_deps =
  ${inkhud.lib_deps} ; InkHUD libs first, so we get GFXRoot instead of AdafruitGFX
  ${heltec_mesh_solar_base.lib_deps}


[env:heltec-mesh-solar-oled]
extends = heltec_mesh_solar_base
build_flags = ${heltec_mesh_solar_base.build_flags}
  -DHELTEC_MESH_SOLAR_OLED
  -DSPI_INTERFACES_COUNT=1
  -DPIN_SCREEN_VDD_CTL=3
  -DHAS_SCREEN=1
  -DRESET_OLED=40
  -DPIN_WIRE_SDA=2
  -DPIN_WIRE_SCL=12

[env:heltec-mesh-solar-tft]
extends = heltec_mesh_solar_base
build_flags = ${heltec_mesh_solar_base.build_flags}
  -DHELTEC_MESH_SOLAR_TFT
  -DSPI_INTERFACES_COUNT=2
  -DUSE_ST7789
  -DST7789_NSS=41
  -DST7789_RS=13
  -DST7789_SDA=2
  -DST7789_SCK=12
  -DST7789_RESET=40
  -DST7789_MISO=-1
  -DST7789_BUSY=-1
  -DVTFT_CTRL=3
  -DVTFT_LEDA=11
  -DTFT_BACKLIGHT_ON=HIGH
  -DST7789_SPI_HOST=SPI2_HOST
  -DSPI_FREQUENCY=10000000
  -DSPI_READ_FREQUENCY=10000000
  -DTFT_HEIGHT=170
  -DTFT_WIDTH=320
  -DTFT_OFFSET_X=0
  -DTFT_OFFSET_Y=0
  -DBRIGHTNESS_DEFAULT=100
  -DPIN_SPI1_MISO=ST7789_MISO
  -DPIN_SPI1_MOSI=ST7789_SDA
  -DPIN_SPI1_SCK=ST7789_SCK
lib_deps =
  ${heltec_mesh_solar_base.lib_deps}
  https://github.com/meshtastic/st7789/archive/bd33ea58ddfe4a5e4a66d53300ccbd38d66ac21f.zip
