menuconfig GEARSHIFT_ADDRESS_PROVIDERS
    bool "Enable Gearshift Address Providers"
    default n
    depends on GEARSHIFT
    help
      Enable Gearshift Address Providers for the default UDS instance or CAN Log ID.

if GEARSHIFT_ADDRESS_PROVIDERS
  module = GEARSHIFT_ADDRESS_PROVIDERS
  module-str = Gearshift Address Providers
  source "subsys/logging/Kconfig.template.log_config"

  menuconfig GEARSHIFT_UDS_ADDRESS_PROVIDER
      bool "Enable Gearshift UDS Address Provider"
      default n
      select UDS_DEFAULT_INSTANCE_EXTERNAL_ADDRESS_PROVIDER
      depends on UDS && UDS_DEFAULT_INSTANCE
      help
        Enable the Gearshift Address Provider for the default UDS instance.
        This will provide CAN IDs based on the gearshift state.

  if GEARSHIFT_UDS_ADDRESS_PROVIDER
    config GEARSHIFT_UDS_ADDRESS_PROVIDER_BASE_PHYS_SA
        hex "Gearshift UDS Address Provider Base Physical Source Address"
        default 0x7E8
        help
          Base Physical Source Address used by the Gearshift UDS Address Provider.
          The actual address will be calculated based on the current gearshift state.
    config GEARSHIFT_UDS_ADDRESS_PROVIDER_BASE_PHYS_TA
        hex "Gearshift UDS Address Provider Base Physical Target Address"
        default 0x7E0
        help
          Base Physical Target Address used by the Gearshift UDS Address Provider.
          The actual address will be calculated based on the current gearshift state.
  endif # GEARSHIFT_UDS_ADDRESS_PROVIDER

  menuconfig GEARSHIFT_CAN_LOG_ADDRESS_PROVIDER
      bool "Enable Gearshift CAN Log Address Provider"
      default n
      depends on CAN_LOG
      select CAN_LOG_ADDRESS_PROVIDER_EXTERNAL
      help
        Enable the Gearshift Address Provider for the CAN Log.
        This will provide CAN IDs based on the gearshift state.
  if GEARSHIFT_CAN_LOG_ADDRESS_PROVIDER
    config GEARSHIFT_CAN_LOG_ADDRESS_PROVIDER_BASE_ID
        hex "Gearshift CAN Log Address Provider Base CAN ID"
        default 0x100
        help
          Base CAN ID used by the Gearshift CAN Log Address Provider.
          The actual CAN ID will be calculated based on the current gearshift state.
  endif # GEARSHIFT_CAN_LOG_ADDRESS_PROVIDER
endif # GEARSHIFT_ADDRESS_PROVIDERS
