# Kconfig - frame buffer configuration options

#
# Copyright (c) 2018 Phytec Messtechnik GmbH
#
# SPDX-License-Identifier: Apache-2.0
#

menuconfig CHARACTER_FRAMEBUFFER
	bool "Character framebuffer for dot matrix displays"
	help
	  Character framebuffer for dot matrix displays.

if CHARACTER_FRAMEBUFFER

config CHARACTER_FRAMEBUFFER_USE_DEFAULT_FONTS
	bool "Use default fonts"
	default y
	help
	  Use default fonts.

config CHARACTER_FRAMEBUFFER_SHELL
	bool "Character Framebuffer shell"
	depends on SHELL
	help
	  Activate shell module that provides Framebuffer commands to the
	  console.

if CHARACTER_FRAMEBUFFER_SHELL
	config CHARACTER_FRAMEBUFFER_SHELL_DRIVER_NAME
	string
	default "SSD16XX" if SSD16XX
	default "SSD1306" if SSD1306
	help
	  Character Framebuffer Display Driver Name

endif

module = CFB
module-str = cfb
source "subsys/logging/Kconfig.template.log_config"

endif # CHARACTER_FRAMEBUFFER
