;;; meshtastic/module-config.proto.lisp
;;;
;;; Generated by the protocol buffer compiler. DO NOT EDIT!

(cl:in-package #:common-lisp-user)

#+sbcl
(cl:progn
 (cl:eval-when (:compile-toplevel) (sb-ext:restrict-compiler-policy 'cl:debug 0 1))
 (cl:declaim (cl:optimize (sb-c:store-coverage-data 0))))

(cl:eval-when (:compile-toplevel :load-toplevel :execute)
  (cl:unless (cl:find-package "CL-PROTOBUFS.MESHTASTIC")
    (cl:defpackage "CL-PROTOBUFS.MESHTASTIC" (:use)
                   (:local-nicknames (#:pi #:cl-protobufs.implementation)))))

(cl:in-package "CL-PROTOBUFS.MESHTASTIC")

(cl:eval-when (:compile-toplevel :load-toplevel :execute)
(pi:define-schema 'module-config
    :syntax :proto3

     :package "meshtastic")
)


;;; Top-Level enums

(pi:define-enum remote-hardware-pin-type
    ()
  (:unknown :index 0)
  (:digital-read :index 1)
  (:digital-write :index 2))

;;; Top-Level messages

(pi:define-message module-config
    ()
  ;; Nested messages

  (pi:define-message module-config.mqtt-config
      (
       :name "MQTTConfig")
    ;; Fields
    (enabled
     :index 1 :type cl:boolean :kind :scalar :label (:optional) :json-name "enabled")
    (address
     :index 2 :type cl:string :kind :scalar :label (:optional) :json-name "address")
    (username
     :index 3 :type cl:string :kind :scalar :label (:optional) :json-name "username")
    (password
     :index 4 :type cl:string :kind :scalar :label (:optional) :json-name "password")
    (encryption-enabled
     :index 5 :type cl:boolean :kind :scalar :label (:optional) :json-name "encryptionEnabled")
    (json-enabled
     :index 6 :type cl:boolean :kind :scalar :label (:optional) :json-name "jsonEnabled")
    (tls-enabled
     :index 7 :type cl:boolean :kind :scalar :label (:optional) :json-name "tlsEnabled")
    (root
     :index 8 :type cl:string :kind :scalar :label (:optional) :json-name "root")
    (proxy-to-client-enabled
     :index 9 :type cl:boolean :kind :scalar :label (:optional) :json-name "proxyToClientEnabled"))

  (pi:define-message module-config.remote-hardware-config
      ()
    ;; Fields
    (enabled
     :index 1 :type cl:boolean :kind :scalar :label (:optional) :json-name "enabled")
    (allow-undefined-pin-access
     :index 2 :type cl:boolean :kind :scalar :label (:optional) :json-name "allowUndefinedPinAccess")
    (available-pins
     :index 3 :type remote-hardware-pin :kind :message :label (:repeated :list) :json-name "availablePins"))

  (pi:define-message module-config.neighbor-info-config
      ()
    ;; Fields
    (enabled
     :index 1 :type cl:boolean :kind :scalar :label (:optional) :json-name "enabled")
    (update-interval
     :index 2 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "updateInterval"))

  (pi:define-message module-config.audio-config
      ()
    ;; Nested enums

    (pi:define-enum module-config.audio-config.audio-baud
        (:name "Audio_Baud")
      (:codec2-default :index 0)
      (:codec2-3200 :index 1)
      (:codec2-2400 :index 2)
      (:codec2-1600 :index 3)
      (:codec2-1400 :index 4)
      (:codec2-1300 :index 5)
      (:codec2-1200 :index 6)
      (:codec2-700 :index 7)
      (:codec2-700b :index 8))
    ;; Fields
    (codec2-enabled
     :index 1 :type cl:boolean :kind :scalar :label (:optional) :json-name "codec2Enabled")
    (ptt-pin
     :index 2 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "pttPin")
    (bitrate
     :index 3 :type module-config.audio-config.audio-baud :kind :enum :label (:optional) :json-name "bitrate" :default :codec2-default)
    (i2s-ws
     :index 4 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "i2sWs")
    (i2s-sd
     :index 5 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "i2sSd")
    (i2s-din
     :index 6 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "i2sDin")
    (i2s-sck
     :index 7 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "i2sSck"))

  (pi:define-message module-config.serial-config
      ()
    ;; Nested enums

    (pi:define-enum module-config.serial-config.serial-baud
        (:name "Serial_Baud")
      (:baud-default :index 0)
      (:baud-110 :index 1)
      (:baud-300 :index 2)
      (:baud-600 :index 3)
      (:baud-1200 :index 4)
      (:baud-2400 :index 5)
      (:baud-4800 :index 6)
      (:baud-9600 :index 7)
      (:baud-19200 :index 8)
      (:baud-38400 :index 9)
      (:baud-57600 :index 10)
      (:baud-115200 :index 11)
      (:baud-230400 :index 12)
      (:baud-460800 :index 13)
      (:baud-576000 :index 14)
      (:baud-921600 :index 15))

    (pi:define-enum module-config.serial-config.serial-mode
        (:name "Serial_Mode")
      (:default :index 0)
      (:simple :index 1)
      (:proto :index 2)
      (:textmsg :index 3)
      (:nmea :index 4)
      (:caltopo :index 5))
    ;; Fields
    (enabled
     :index 1 :type cl:boolean :kind :scalar :label (:optional) :json-name "enabled")
    (echo
     :index 2 :type cl:boolean :kind :scalar :label (:optional) :json-name "echo")
    (rxd
     :index 3 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "rxd")
    (txd
     :index 4 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "txd")
    (baud
     :index 5 :type module-config.serial-config.serial-baud :kind :enum :label (:optional) :json-name "baud" :default :baud-default)
    (timeout
     :index 6 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "timeout")
    (mode
     :index 7 :type module-config.serial-config.serial-mode :kind :enum :label (:optional) :json-name "mode" :default :default)
    (override-console-serial-port
     :index 8 :type cl:boolean :kind :scalar :label (:optional) :json-name "overrideConsoleSerialPort"))

  (pi:define-message module-config.external-notification-config
      ()
    ;; Fields
    (enabled
     :index 1 :type cl:boolean :kind :scalar :label (:optional) :json-name "enabled")
    (output-ms
     :index 2 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "outputMs")
    (output
     :index 3 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "output")
    (output-vibra
     :index 8 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "outputVibra")
    (output-buzzer
     :index 9 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "outputBuzzer")
    (active
     :index 4 :type cl:boolean :kind :scalar :label (:optional) :json-name "active")
    (alert-message
     :index 5 :type cl:boolean :kind :scalar :label (:optional) :json-name "alertMessage")
    (alert-message-vibra
     :index 10 :type cl:boolean :kind :scalar :label (:optional) :json-name "alertMessageVibra")
    (alert-message-buzzer
     :index 11 :type cl:boolean :kind :scalar :label (:optional) :json-name "alertMessageBuzzer")
    (alert-bell
     :index 6 :type cl:boolean :kind :scalar :label (:optional) :json-name "alertBell")
    (alert-bell-vibra
     :index 12 :type cl:boolean :kind :scalar :label (:optional) :json-name "alertBellVibra")
    (alert-bell-buzzer
     :index 13 :type cl:boolean :kind :scalar :label (:optional) :json-name "alertBellBuzzer")
    (use-pwm
     :index 7 :type cl:boolean :kind :scalar :label (:optional) :json-name "usePwm")
    (nag-timeout
     :index 14 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "nagTimeout"))

  (pi:define-message module-config.store-forward-config
      ()
    ;; Fields
    (enabled
     :index 1 :type cl:boolean :kind :scalar :label (:optional) :json-name "enabled")
    (heartbeat
     :index 2 :type cl:boolean :kind :scalar :label (:optional) :json-name "heartbeat")
    (records
     :index 3 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "records")
    (history-return-max
     :index 4 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "historyReturnMax")
    (history-return-window
     :index 5 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "historyReturnWindow"))

  (pi:define-message module-config.range-test-config
      ()
    ;; Fields
    (enabled
     :index 1 :type cl:boolean :kind :scalar :label (:optional) :json-name "enabled")
    (sender
     :index 2 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "sender")
    (save
     :index 3 :type cl:boolean :kind :scalar :label (:optional) :json-name "save"))

  (pi:define-message module-config.telemetry-config
      ()
    ;; Fields
    (device-update-interval
     :index 1 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "deviceUpdateInterval")
    (environment-update-interval
     :index 2 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "environmentUpdateInterval")
    (environment-measurement-enabled
     :index 3 :type cl:boolean :kind :scalar :label (:optional) :json-name "environmentMeasurementEnabled")
    (environment-screen-enabled
     :index 4 :type cl:boolean :kind :scalar :label (:optional) :json-name "environmentScreenEnabled")
    (environment-display-fahrenheit
     :index 5 :type cl:boolean :kind :scalar :label (:optional) :json-name "environmentDisplayFahrenheit")
    (air-quality-enabled
     :index 6 :type cl:boolean :kind :scalar :label (:optional) :json-name "airQualityEnabled")
    (air-quality-interval
     :index 7 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "airQualityInterval"))

  (pi:define-message module-config.canned-message-config
      ()
    ;; Nested enums

    (pi:define-enum module-config.canned-message-config.input-event-char
        ()
      (:none :index 0)
      (:up :index 17)
      (:down :index 18)
      (:left :index 19)
      (:right :index 20)
      (:select :index 10)
      (:back :index 27)
      (:cancel :index 24))
    ;; Fields
    (rotary1-enabled
     :index 1 :type cl:boolean :kind :scalar :label (:optional) :json-name "rotary1Enabled")
    (inputbroker-pin-a
     :index 2 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "inputbrokerPinA")
    (inputbroker-pin-b
     :index 3 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "inputbrokerPinB")
    (inputbroker-pin-press
     :index 4 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "inputbrokerPinPress")
    (inputbroker-event-cw
     :index 5 :type module-config.canned-message-config.input-event-char :kind :enum :label (:optional) :json-name "inputbrokerEventCw" :default :none)
    (inputbroker-event-ccw
     :index 6 :type module-config.canned-message-config.input-event-char :kind :enum :label (:optional) :json-name "inputbrokerEventCcw" :default :none)
    (inputbroker-event-press
     :index 7 :type module-config.canned-message-config.input-event-char :kind :enum :label (:optional) :json-name "inputbrokerEventPress" :default :none)
    (updown1-enabled
     :index 8 :type cl:boolean :kind :scalar :label (:optional) :json-name "updown1Enabled")
    (enabled
     :index 9 :type cl:boolean :kind :scalar :label (:optional) :json-name "enabled")
    (allow-input-source
     :index 10 :type cl:string :kind :scalar :label (:optional) :json-name "allowInputSource")
    (send-bell
     :index 11 :type cl:boolean :kind :scalar :label (:optional) :json-name "sendBell"))

  (pi:define-message module-config.ambient-lighting-config
      ()
    ;; Fields
    (led-state
     :index 1 :type cl:boolean :kind :scalar :label (:optional) :json-name "ledState")
    (current
     :index 2 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "current")
    (red
     :index 3 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "red")
    (green
     :index 4 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "green")
    (blue
     :index 5 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "blue"))
  ;; Fields
  (pi:define-oneof payload-variant ()
    (mqtt
     :index 1 :type module-config.mqtt-config :kind :message :label (:optional) :json-name "mqtt")
    (serial
     :index 2 :type module-config.serial-config :kind :message :label (:optional) :json-name "serial")
    (external-notification
     :index 3 :type module-config.external-notification-config :kind :message :label (:optional) :json-name "externalNotification")
    (store-forward
     :index 4 :type module-config.store-forward-config :kind :message :label (:optional) :json-name "storeForward")
    (range-test
     :index 5 :type module-config.range-test-config :kind :message :label (:optional) :json-name "rangeTest")
    (telemetry
     :index 6 :type module-config.telemetry-config :kind :message :label (:optional) :json-name "telemetry")
    (canned-message
     :index 7 :type module-config.canned-message-config :kind :message :label (:optional) :json-name "cannedMessage")
    (audio
     :index 8 :type module-config.audio-config :kind :message :label (:optional) :json-name "audio")
    (remote-hardware
     :index 9 :type module-config.remote-hardware-config :kind :message :label (:optional) :json-name "remoteHardware")
    (neighbor-info
     :index 10 :type module-config.neighbor-info-config :kind :message :label (:optional) :json-name "neighborInfo")
    (ambient-lighting
     :index 11 :type module-config.ambient-lighting-config :kind :message :label (:optional) :json-name "ambientLighting")))

(pi:define-message remote-hardware-pin
    ()
  ;; Fields
  (gpio-pin
   :index 1 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "gpioPin")
  (name
   :index 2 :type cl:string :kind :scalar :label (:optional) :json-name "name")
  (type
   :index 3 :type remote-hardware-pin-type :kind :enum :label (:optional) :json-name "type" :default :unknown))

(cl:export '(active
             address
             air-quality-enabled
             air-quality-interval
             alert-bell
             alert-bell-buzzer
             alert-bell-vibra
             alert-message
             alert-message-buzzer
             alert-message-vibra
             allow-input-source
             allow-undefined-pin-access
             ambient-lighting
             audio
             available-pins
             baud
             bitrate
             blue
             canned-message
             codec2-enabled
             current
             device-update-interval
             echo
             enabled
             encryption-enabled
             environment-display-fahrenheit
             environment-measurement-enabled
             environment-screen-enabled
             environment-update-interval
             external-notification
             gpio-pin
             green
             heartbeat
             history-return-max
             history-return-window
             i2s-din
             i2s-sck
             i2s-sd
             i2s-ws
             inputbroker-event-ccw
             inputbroker-event-cw
             inputbroker-event-press
             inputbroker-pin-a
             inputbroker-pin-b
             inputbroker-pin-press
             json-enabled
             led-state
             mode
             module-config
             module-config.ambient-lighting-config
             module-config.audio-config
             module-config.audio-config.audio-baud
             module-config.audio-config.audio-baud-int-to-keyword
             module-config.audio-config.audio-baud-keyword-to-int
             module-config.canned-message-config
             module-config.canned-message-config.input-event-char
             module-config.canned-message-config.input-event-char-int-to-keyword
             module-config.canned-message-config.input-event-char-keyword-to-int
             module-config.external-notification-config
             module-config.mqtt-config
             module-config.neighbor-info-config
             module-config.range-test-config
             module-config.remote-hardware-config
             module-config.serial-config
             module-config.serial-config.serial-baud
             module-config.serial-config.serial-baud-int-to-keyword
             module-config.serial-config.serial-baud-keyword-to-int
             module-config.serial-config.serial-mode
             module-config.serial-config.serial-mode-int-to-keyword
             module-config.serial-config.serial-mode-keyword-to-int
             module-config.store-forward-config
             module-config.telemetry-config
             module-config
             mqtt
             nag-timeout
             name
             neighbor-info
             output
             output-buzzer
             output-ms
             output-vibra
             override-console-serial-port
             password
             proxy-to-client-enabled
             ptt-pin
             range-test
             records
             red
             remote-hardware
             remote-hardware-pin
             remote-hardware-pin-type
             remote-hardware-pin-type-int-to-keyword
             remote-hardware-pin-type-keyword-to-int
             root
             rotary1-enabled
             rxd
             save
             send-bell
             sender
             serial
             store-forward
             telemetry
             timeout
             tls-enabled
             txd
             type
             update-interval
             updown1-enabled
             use-pwm
             username))
