# Copyright 2023 The Pigweed Authors
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.

declare_args() {
  # Display width in pixels (ex. "320")
  pw_app_common_DISPLAY_WIDTH = "0"

  # Display height in pixels (ex. "240")
  pw_app_common_DISPLAY_HEIGHT = "0"

  # Framebuffer width in pixels (ex. "320")
  # A value of -1 will cause the framebuffer to have the same value as
  # pw_app_common_DISPLAY_WIDTH
  pw_app_common_FRAMEBUFFER_WIDTH = "-1"

  # Framebuffer start pixel X coord (ex. "4")
  pw_app_common_FRAMEBUFFER_START_X = "0"

  # Framebuffer start pixel Y coord (ex. "4")
  pw_app_common_FRAMEBUFFER_START_Y = "0"

  # Display backlight pin (ex "4", or "-1" if unused)
  pw_app_common_BACKLIGHT_GPIO = "-1"

  # Display tear effect output GPIO pin (ex "2", or "-1" if unused)
  pw_app_common_DISPLAY_TE_GPIO = "-1"

  # Display reset GPIO pin (ex "2", or "-1" if unused)
  pw_app_common_DISPLAY_RESET_GPIO = "-1"

  # GPIO Port of display CS pin (ex. "A")
  # Only used on STM32 targets.
  pw_app_common_STM32_DISPLAY_CS_PORT = ""

  # GPIO Pin of display CS (ex. "10")
  pw_app_common_DISPLAY_CS_GPIO = ""

  # GPIO Port of display DC pin (ex. "B")
  # Only used on STM32 targets.
  pw_app_common_STM32_DISPLAY_DC_PORT = ""

  # GPIO Pin of display dc (ex. "11")
  pw_app_common_DISPLAY_DC_GPIO = ""

  # SPI bus MISO pin (ex. "12", or "-1" if unusedsable)
  pw_app_common_SPI_MISO_GPIO = "-1"

  # SPI bus MOSI pin (ex. "13")
  pw_app_common_SPI_MOSI_GPIO = ""

  # SPI bus clock pin (ex. "14")
  pw_app_common_SPI_CLOCK_GPIO = ""
}
