# Copyright 2023 Google LLC
# SPDX-License-Identifier: Apache-2.0

config GNSS_NMEA_GENERIC
	bool "Generic GNSS NMEA device"
	default y
	depends on GNSS
	depends on DT_HAS_GNSS_NMEA_GENERIC_ENABLED
	select MODEM_MODULES
	select MODEM_BACKEND_UART
	select MODEM_CHAT
	select GNSS_PARSE
	select GNSS_NMEA0183
	select GNSS_NMEA0183_MATCH
	help
	  Generic NMEA based GNSS device.

config GNSS_NMEA_GENERIC_SATELLITES_COUNT
	int "Maximum satellite count"
	depends on GNSS_SATELLITES
	default 24
	help
	  Maximum number of satellite that the driver that can be decoded from
	  the GNSS device. This does not affect the number of devices that the
	  device is actually tracking, just how many of those can be reported
	  in the satellites callback.
