# 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
