;;; meshtastic/channel.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 'channel
    :syntax :proto3

     :package "meshtastic")
)


;;; Top-Level messages

(pi:define-message channel-settings
    ()
  ;; Fields
  (channel-num
   :index 1 :type cl-protobufs:uint32 :kind :scalar :label (:optional) :json-name "channelNum")
  (psk
   :index 2 :type cl-protobufs:byte-vector :kind :scalar :label (:optional) :json-name "psk")
  (name
   :index 3 :type cl:string :kind :scalar :label (:optional) :json-name "name")
  (id
   :index 4 :type cl-protobufs:fixed32 :kind :scalar :label (:optional) :json-name "id")
  (uplink-enabled
   :index 5 :type cl:boolean :kind :scalar :label (:optional) :json-name "uplinkEnabled")
  (downlink-enabled
   :index 6 :type cl:boolean :kind :scalar :label (:optional) :json-name "downlinkEnabled"))

(pi:define-message channel
    ()
  ;; Nested enums

  (pi:define-enum channel.role
      ()
    (:disabled :index 0)
    (:primary :index 1)
    (:secondary :index 2))
  ;; Fields
  (index
   :index 1 :type cl-protobufs:int32 :kind :scalar :label (:optional) :json-name "index")
  (settings
   :index 2 :type channel-settings :kind :message :label (:optional) :json-name "settings")
  (role
   :index 3 :type channel.role :kind :enum :label (:optional) :json-name "role" :default :disabled))

(cl:export '(channel
             channel-num
             channel-settings
             channel.role
             channel.role-int-to-keyword
             channel.role-keyword-to-int
             downlink-enabled
             id
             index
             name
             psk
             role
             settings
             uplink-enabled))
