""" @generated by mypy-protobuf. Do not edit manually! isort:skip_file """ import builtins import collections.abc import google.protobuf.descriptor import google.protobuf.internal.containers import google.protobuf.internal.enum_type_wrapper import google.protobuf.message import meshtastic.protobuf.device_ui_pb2 import sys import typing if sys.version_info >= (3, 10): import typing as typing_extensions else: import typing_extensions DESCRIPTOR: google.protobuf.descriptor.FileDescriptor @typing.final class Config(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @typing.final class DeviceConfig(google.protobuf.message.Message): """ Configuration """ DESCRIPTOR: google.protobuf.descriptor.Descriptor class _Role: ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType class _RoleEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Config.DeviceConfig._Role.ValueType], builtins.type): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor CLIENT: Config.DeviceConfig._Role.ValueType # 0 """ Description: App connected or stand alone messaging device. Technical Details: Default Role """ CLIENT_MUTE: Config.DeviceConfig._Role.ValueType # 1 """ Description: Device that does not forward packets from other devices. """ ROUTER: Config.DeviceConfig._Role.ValueType # 2 """ Description: Infrastructure node for extending network coverage by relaying messages. Visible in Nodes list. Technical Details: Mesh packets will prefer to be routed over this node. This node will not be used by client apps. The wifi radio and the oled screen will be put to sleep. This mode may still potentially have higher power usage due to it's preference in message rebroadcasting on the mesh. """ ROUTER_CLIENT: Config.DeviceConfig._Role.ValueType # 3 """ Description: Combination of both ROUTER and CLIENT. Not for mobile devices. Deprecated in v2.3.15 because improper usage is impacting public meshes: Use ROUTER or CLIENT instead. """ REPEATER: Config.DeviceConfig._Role.ValueType # 4 """ Description: Infrastructure node for extending network coverage by relaying messages with minimal overhead. Not visible in Nodes list. Technical Details: Mesh packets will simply be rebroadcasted over this node. Nodes configured with this role will not originate NodeInfo, Position, Telemetry or any other packet type. They will simply rebroadcast any mesh packets on the same frequency, channel num, spread factor, and coding rate. Deprecated in v2.7.11 because it creates "holes" in the mesh rebroadcast chain. """ TRACKER: Config.DeviceConfig._Role.ValueType # 5 """ Description: Broadcasts GPS position packets as priority. Technical Details: Position Mesh packets will be prioritized higher and sent more frequently by default. When used in conjunction with power.is_power_saving = true, nodes will wake up, send position, and then sleep for position.position_broadcast_secs seconds. """ SENSOR: Config.DeviceConfig._Role.ValueType # 6 """ Description: Broadcasts telemetry packets as priority. Technical Details: Telemetry Mesh packets will be prioritized higher and sent more frequently by default. When used in conjunction with power.is_power_saving = true, nodes will wake up, send environment telemetry, and then sleep for telemetry.environment_update_interval seconds. """ TAK: Config.DeviceConfig._Role.ValueType # 7 """ Description: Optimized for ATAK system communication and reduces routine broadcasts. Technical Details: Used for nodes dedicated for connection to an ATAK EUD. Turns off many of the routine broadcasts to favor CoT packet stream from the Meshtastic ATAK plugin -> IMeshService -> Node """ CLIENT_HIDDEN: Config.DeviceConfig._Role.ValueType # 8 """ Description: Device that only broadcasts as needed for stealth or power savings. Technical Details: Used for nodes that "only speak when spoken to" Turns all of the routine broadcasts but allows for ad-hoc communication Still rebroadcasts, but with local only rebroadcast mode (known meshes only) Can be used for clandestine operation or to dramatically reduce airtime / power consumption """ LOST_AND_FOUND: Config.DeviceConfig._Role.ValueType # 9 """ Description: Broadcasts location as message to default channel regularly for to assist with device recovery. Technical Details: Used to automatically send a text message to the mesh with the current position of the device on a frequent interval: "I'm lost! Position: lat / long" """ TAK_TRACKER: Config.DeviceConfig._Role.ValueType # 10 """ Description: Enables automatic TAK PLI broadcasts and reduces routine broadcasts. Technical Details: Turns off many of the routine broadcasts to favor ATAK CoT packet stream and automatic TAK PLI (position location information) broadcasts. Uses position module configuration to determine TAK PLI broadcast interval. """ ROUTER_LATE: Config.DeviceConfig._Role.ValueType # 11 """ Description: Will always rebroadcast packets, but will do so after all other modes. Technical Details: Used for router nodes that are intended to provide additional coverage in areas not already covered by other routers, or to bridge around problematic terrain, but should not be given priority over other routers in order to avoid unnecessaraily consuming hops. """ CLIENT_BASE: Config.DeviceConfig._Role.ValueType # 12 """ Description: Treats packets from or to favorited nodes as ROUTER_LATE, and all other packets as CLIENT. Technical Details: Used for stronger attic/roof nodes to distribute messages more widely from weaker, indoor, or less-well-positioned nodes. Recommended for users with multiple nodes where one CLIENT_BASE acts as a more powerful base station, such as an attic/roof node. """ class Role(_Role, metaclass=_RoleEnumTypeWrapper): """ Defines the device's role on the Mesh network """ CLIENT: Config.DeviceConfig.Role.ValueType # 0 """ Description: App connected or stand alone messaging device. Technical Details: Default Role """ CLIENT_MUTE: Config.DeviceConfig.Role.ValueType # 1 """ Description: Device that does not forward packets from other devices. """ ROUTER: Config.DeviceConfig.Role.ValueType # 2 """ Description: Infrastructure node for extending network coverage by relaying messages. Visible in Nodes list. Technical Details: Mesh packets will prefer to be routed over this node. This node will not be used by client apps. The wifi radio and the oled screen will be put to sleep. This mode may still potentially have higher power usage due to it's preference in message rebroadcasting on the mesh. """ ROUTER_CLIENT: Config.DeviceConfig.Role.ValueType # 3 """ Description: Combination of both ROUTER and CLIENT. Not for mobile devices. Deprecated in v2.3.15 because improper usage is impacting public meshes: Use ROUTER or CLIENT instead. """ REPEATER: Config.DeviceConfig.Role.ValueType # 4 """ Description: Infrastructure node for extending network coverage by relaying messages with minimal overhead. Not visible in Nodes list. Technical Details: Mesh packets will simply be rebroadcasted over this node. Nodes configured with this role will not originate NodeInfo, Position, Telemetry or any other packet type. They will simply rebroadcast any mesh packets on the same frequency, channel num, spread factor, and coding rate. Deprecated in v2.7.11 because it creates "holes" in the mesh rebroadcast chain. """ TRACKER: Config.DeviceConfig.Role.ValueType # 5 """ Description: Broadcasts GPS position packets as priority. Technical Details: Position Mesh packets will be prioritized higher and sent more frequently by default. When used in conjunction with power.is_power_saving = true, nodes will wake up, send position, and then sleep for position.position_broadcast_secs seconds. """ SENSOR: Config.DeviceConfig.Role.ValueType # 6 """ Description: Broadcasts telemetry packets as priority. Technical Details: Telemetry Mesh packets will be prioritized higher and sent more frequently by default. When used in conjunction with power.is_power_saving = true, nodes will wake up, send environment telemetry, and then sleep for telemetry.environment_update_interval seconds. """ TAK: Config.DeviceConfig.Role.ValueType # 7 """ Description: Optimized for ATAK system communication and reduces routine broadcasts. Technical Details: Used for nodes dedicated for connection to an ATAK EUD. Turns off many of the routine broadcasts to favor CoT packet stream from the Meshtastic ATAK plugin -> IMeshService -> Node """ CLIENT_HIDDEN: Config.DeviceConfig.Role.ValueType # 8 """ Description: Device that only broadcasts as needed for stealth or power savings. Technical Details: Used for nodes that "only speak when spoken to" Turns all of the routine broadcasts but allows for ad-hoc communication Still rebroadcasts, but with local only rebroadcast mode (known meshes only) Can be used for clandestine operation or to dramatically reduce airtime / power consumption """ LOST_AND_FOUND: Config.DeviceConfig.Role.ValueType # 9 """ Description: Broadcasts location as message to default channel regularly for to assist with device recovery. Technical Details: Used to automatically send a text message to the mesh with the current position of the device on a frequent interval: "I'm lost! Position: lat / long" """ TAK_TRACKER: Config.DeviceConfig.Role.ValueType # 10 """ Description: Enables automatic TAK PLI broadcasts and reduces routine broadcasts. Technical Details: Turns off many of the routine broadcasts to favor ATAK CoT packet stream and automatic TAK PLI (position location information) broadcasts. Uses position module configuration to determine TAK PLI broadcast interval. """ ROUTER_LATE: Config.DeviceConfig.Role.ValueType # 11 """ Description: Will always rebroadcast packets, but will do so after all other modes. Technical Details: Used for router nodes that are intended to provide additional coverage in areas not already covered by other routers, or to bridge around problematic terrain, but should not be given priority over other routers in order to avoid unnecessaraily consuming hops. """ CLIENT_BASE: Config.DeviceConfig.Role.ValueType # 12 """ Description: Treats packets from or to favorited nodes as ROUTER_LATE, and all other packets as CLIENT. Technical Details: Used for stronger attic/roof nodes to distribute messages more widely from weaker, indoor, or less-well-positioned nodes. Recommended for users with multiple nodes where one CLIENT_BASE acts as a more powerful base station, such as an attic/roof node. """ class _RebroadcastMode: ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType class _RebroadcastModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Config.DeviceConfig._RebroadcastMode.ValueType], builtins.type): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor ALL: Config.DeviceConfig._RebroadcastMode.ValueType # 0 """ Default behavior. Rebroadcast any observed message, if it was on our private channel or from another mesh with the same lora params. """ ALL_SKIP_DECODING: Config.DeviceConfig._RebroadcastMode.ValueType # 1 """ Same as behavior as ALL but skips packet decoding and simply rebroadcasts them. Only available in Repeater role. Setting this on any other roles will result in ALL behavior. """ LOCAL_ONLY: Config.DeviceConfig._RebroadcastMode.ValueType # 2 """ Ignores observed messages from foreign meshes that are open or those which it cannot decrypt. Only rebroadcasts message on the nodes local primary / secondary channels. """ KNOWN_ONLY: Config.DeviceConfig._RebroadcastMode.ValueType # 3 """ Ignores observed messages from foreign meshes like LOCAL_ONLY, but takes it step further by also ignoring messages from nodenums not in the node's known list (NodeDB) """ NONE: Config.DeviceConfig._RebroadcastMode.ValueType # 4 """ Only permitted for SENSOR, TRACKER and TAK_TRACKER roles, this will inhibit all rebroadcasts, not unlike CLIENT_MUTE role. """ CORE_PORTNUMS_ONLY: Config.DeviceConfig._RebroadcastMode.ValueType # 5 """ Ignores packets from non-standard portnums such as: TAK, RangeTest, PaxCounter, etc. Only rebroadcasts packets with standard portnums: NodeInfo, Text, Position, Telemetry, and Routing. """ class RebroadcastMode(_RebroadcastMode, metaclass=_RebroadcastModeEnumTypeWrapper): """ Defines the device's behavior for how messages are rebroadcast """ ALL: Config.DeviceConfig.RebroadcastMode.ValueType # 0 """ Default behavior. Rebroadcast any observed message, if it was on our private channel or from another mesh with the same lora params. """ ALL_SKIP_DECODING: Config.DeviceConfig.RebroadcastMode.ValueType # 1 """ Same as behavior as ALL but skips packet decoding and simply rebroadcasts them. Only available in Repeater role. Setting this on any other roles will result in ALL behavior. """ LOCAL_ONLY: Config.DeviceConfig.RebroadcastMode.ValueType # 2 """ Ignores observed messages from foreign meshes that are open or those which it cannot decrypt. Only rebroadcasts message on the nodes local primary / secondary channels. """ KNOWN_ONLY: Config.DeviceConfig.RebroadcastMode.ValueType # 3 """ Ignores observed messages from foreign meshes like LOCAL_ONLY, but takes it step further by also ignoring messages from nodenums not in the node's known list (NodeDB) """ NONE: Config.DeviceConfig.RebroadcastMode.ValueType # 4 """ Only permitted for SENSOR, TRACKER and TAK_TRACKER roles, this will inhibit all rebroadcasts, not unlike CLIENT_MUTE role. """ CORE_PORTNUMS_ONLY: Config.DeviceConfig.RebroadcastMode.ValueType # 5 """ Ignores packets from non-standard portnums such as: TAK, RangeTest, PaxCounter, etc. Only rebroadcasts packets with standard portnums: NodeInfo, Text, Position, Telemetry, and Routing. """ class _BuzzerMode: ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType class _BuzzerModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Config.DeviceConfig._BuzzerMode.ValueType], builtins.type): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor ALL_ENABLED: Config.DeviceConfig._BuzzerMode.ValueType # 0 """ Default behavior. Buzzer is enabled for all audio feedback including button presses and alerts. """ DISABLED: Config.DeviceConfig._BuzzerMode.ValueType # 1 """ Disabled. All buzzer audio feedback is disabled. """ NOTIFICATIONS_ONLY: Config.DeviceConfig._BuzzerMode.ValueType # 2 """ Notifications Only. Buzzer is enabled only for notifications and alerts, but not for button presses. External notification config determines the specifics of the notification behavior. """ SYSTEM_ONLY: Config.DeviceConfig._BuzzerMode.ValueType # 3 """ Non-notification system buzzer tones only. Buzzer is enabled only for non-notification tones such as button presses, startup, shutdown, but not for alerts. """ DIRECT_MSG_ONLY: Config.DeviceConfig._BuzzerMode.ValueType # 4 """ Direct Message notifications only. Buzzer is enabled only for direct messages and alerts, but not for button presses. External notification config determines the specifics of the notification behavior. """ class BuzzerMode(_BuzzerMode, metaclass=_BuzzerModeEnumTypeWrapper): """ Defines buzzer behavior for audio feedback """ ALL_ENABLED: Config.DeviceConfig.BuzzerMode.ValueType # 0 """ Default behavior. Buzzer is enabled for all audio feedback including button presses and alerts. """ DISABLED: Config.DeviceConfig.BuzzerMode.ValueType # 1 """ Disabled. All buzzer audio feedback is disabled. """ NOTIFICATIONS_ONLY: Config.DeviceConfig.BuzzerMode.ValueType # 2 """ Notifications Only. Buzzer is enabled only for notifications and alerts, but not for button presses. External notification config determines the specifics of the notification behavior. """ SYSTEM_ONLY: Config.DeviceConfig.BuzzerMode.ValueType # 3 """ Non-notification system buzzer tones only. Buzzer is enabled only for non-notification tones such as button presses, startup, shutdown, but not for alerts. """ DIRECT_MSG_ONLY: Config.DeviceConfig.BuzzerMode.ValueType # 4 """ Direct Message notifications only. Buzzer is enabled only for direct messages and alerts, but not for button presses. External notification config determines the specifics of the notification behavior. """ ROLE_FIELD_NUMBER: builtins.int SERIAL_ENABLED_FIELD_NUMBER: builtins.int BUTTON_GPIO_FIELD_NUMBER: builtins.int BUZZER_GPIO_FIELD_NUMBER: builtins.int REBROADCAST_MODE_FIELD_NUMBER: builtins.int NODE_INFO_BROADCAST_SECS_FIELD_NUMBER: builtins.int DOUBLE_TAP_AS_BUTTON_PRESS_FIELD_NUMBER: builtins.int IS_MANAGED_FIELD_NUMBER: builtins.int DISABLE_TRIPLE_CLICK_FIELD_NUMBER: builtins.int TZDEF_FIELD_NUMBER: builtins.int LED_HEARTBEAT_DISABLED_FIELD_NUMBER: builtins.int BUZZER_MODE_FIELD_NUMBER: builtins.int role: global___Config.DeviceConfig.Role.ValueType """ Sets the role of node """ serial_enabled: builtins.bool """ Disabling this will disable the SerialConsole by not initilizing the StreamAPI Moved to SecurityConfig """ button_gpio: builtins.int """ For boards without a hard wired button, this is the pin number that will be used Boards that have more than one button can swap the function with this one. defaults to BUTTON_PIN if defined. """ buzzer_gpio: builtins.int """ For boards without a PWM buzzer, this is the pin number that will be used Defaults to PIN_BUZZER if defined. """ rebroadcast_mode: global___Config.DeviceConfig.RebroadcastMode.ValueType """ Sets the role of node """ node_info_broadcast_secs: builtins.int """ Send our nodeinfo this often Defaults to 900 Seconds (15 minutes) """ double_tap_as_button_press: builtins.bool """ Treat double tap interrupt on supported accelerometers as a button press if set to true """ is_managed: builtins.bool """ If true, device is considered to be "managed" by a mesh administrator Clients should then limit available configuration and administrative options inside the user interface Moved to SecurityConfig """ disable_triple_click: builtins.bool """ Disables the triple-press of user button to enable or disable GPS """ tzdef: builtins.str """ POSIX Timezone definition string from https://github.com/nayarsystems/posix_tz_db/blob/master/zones.csv. """ led_heartbeat_disabled: builtins.bool """ If true, disable the default blinking LED (LED_PIN) behavior on the device """ buzzer_mode: global___Config.DeviceConfig.BuzzerMode.ValueType """ Controls buzzer behavior for audio feedback Defaults to ENABLED """ def __init__( self, *, role: global___Config.DeviceConfig.Role.ValueType = ..., serial_enabled: builtins.bool = ..., button_gpio: builtins.int = ..., buzzer_gpio: builtins.int = ..., rebroadcast_mode: global___Config.DeviceConfig.RebroadcastMode.ValueType = ..., node_info_broadcast_secs: builtins.int = ..., double_tap_as_button_press: builtins.bool = ..., is_managed: builtins.bool = ..., disable_triple_click: builtins.bool = ..., tzdef: builtins.str = ..., led_heartbeat_disabled: builtins.bool = ..., buzzer_mode: global___Config.DeviceConfig.BuzzerMode.ValueType = ..., ) -> None: ... def ClearField(self, field_name: typing.Literal["button_gpio", b"button_gpio", "buzzer_gpio", b"buzzer_gpio", "buzzer_mode", b"buzzer_mode", "disable_triple_click", b"disable_triple_click", "double_tap_as_button_press", b"double_tap_as_button_press", "is_managed", b"is_managed", "led_heartbeat_disabled", b"led_heartbeat_disabled", "node_info_broadcast_secs", b"node_info_broadcast_secs", "rebroadcast_mode", b"rebroadcast_mode", "role", b"role", "serial_enabled", b"serial_enabled", "tzdef", b"tzdef"]) -> None: ... @typing.final class PositionConfig(google.protobuf.message.Message): """ Position Config """ DESCRIPTOR: google.protobuf.descriptor.Descriptor class _PositionFlags: ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType class _PositionFlagsEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Config.PositionConfig._PositionFlags.ValueType], builtins.type): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor UNSET: Config.PositionConfig._PositionFlags.ValueType # 0 """ Required for compilation """ ALTITUDE: Config.PositionConfig._PositionFlags.ValueType # 1 """ Include an altitude value (if available) """ ALTITUDE_MSL: Config.PositionConfig._PositionFlags.ValueType # 2 """ Altitude value is MSL """ GEOIDAL_SEPARATION: Config.PositionConfig._PositionFlags.ValueType # 4 """ Include geoidal separation """ DOP: Config.PositionConfig._PositionFlags.ValueType # 8 """ Include the DOP value ; PDOP used by default, see below """ HVDOP: Config.PositionConfig._PositionFlags.ValueType # 16 """ If POS_DOP set, send separate HDOP / VDOP values instead of PDOP """ SATINVIEW: Config.PositionConfig._PositionFlags.ValueType # 32 """ Include number of "satellites in view" """ SEQ_NO: Config.PositionConfig._PositionFlags.ValueType # 64 """ Include a sequence number incremented per packet """ TIMESTAMP: Config.PositionConfig._PositionFlags.ValueType # 128 """ Include positional timestamp (from GPS solution) """ HEADING: Config.PositionConfig._PositionFlags.ValueType # 256 """ Include positional heading Intended for use with vehicle not walking speeds walking speeds are likely to be error prone like the compass """ SPEED: Config.PositionConfig._PositionFlags.ValueType # 512 """ Include positional speed Intended for use with vehicle not walking speeds walking speeds are likely to be error prone like the compass """ class PositionFlags(_PositionFlags, metaclass=_PositionFlagsEnumTypeWrapper): """ Bit field of boolean configuration options, indicating which optional fields to include when assembling POSITION messages. Longitude, latitude, altitude, speed, heading, and DOP are always included (also time if GPS-synced) NOTE: the more fields are included, the larger the message will be - leading to longer airtime and a higher risk of packet loss """ UNSET: Config.PositionConfig.PositionFlags.ValueType # 0 """ Required for compilation """ ALTITUDE: Config.PositionConfig.PositionFlags.ValueType # 1 """ Include an altitude value (if available) """ ALTITUDE_MSL: Config.PositionConfig.PositionFlags.ValueType # 2 """ Altitude value is MSL """ GEOIDAL_SEPARATION: Config.PositionConfig.PositionFlags.ValueType # 4 """ Include geoidal separation """ DOP: Config.PositionConfig.PositionFlags.ValueType # 8 """ Include the DOP value ; PDOP used by default, see below """ HVDOP: Config.PositionConfig.PositionFlags.ValueType # 16 """ If POS_DOP set, send separate HDOP / VDOP values instead of PDOP """ SATINVIEW: Config.PositionConfig.PositionFlags.ValueType # 32 """ Include number of "satellites in view" """ SEQ_NO: Config.PositionConfig.PositionFlags.ValueType # 64 """ Include a sequence number incremented per packet """ TIMESTAMP: Config.PositionConfig.PositionFlags.ValueType # 128 """ Include positional timestamp (from GPS solution) """ HEADING: Config.PositionConfig.PositionFlags.ValueType # 256 """ Include positional heading Intended for use with vehicle not walking speeds walking speeds are likely to be error prone like the compass """ SPEED: Config.PositionConfig.PositionFlags.ValueType # 512 """ Include positional speed Intended for use with vehicle not walking speeds walking speeds are likely to be error prone like the compass """ class _GpsMode: ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType class _GpsModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Config.PositionConfig._GpsMode.ValueType], builtins.type): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor DISABLED: Config.PositionConfig._GpsMode.ValueType # 0 """ GPS is present but disabled """ ENABLED: Config.PositionConfig._GpsMode.ValueType # 1 """ GPS is present and enabled """ NOT_PRESENT: Config.PositionConfig._GpsMode.ValueType # 2 """ GPS is not present on the device """ class GpsMode(_GpsMode, metaclass=_GpsModeEnumTypeWrapper): ... DISABLED: Config.PositionConfig.GpsMode.ValueType # 0 """ GPS is present but disabled """ ENABLED: Config.PositionConfig.GpsMode.ValueType # 1 """ GPS is present and enabled """ NOT_PRESENT: Config.PositionConfig.GpsMode.ValueType # 2 """ GPS is not present on the device """ POSITION_BROADCAST_SECS_FIELD_NUMBER: builtins.int POSITION_BROADCAST_SMART_ENABLED_FIELD_NUMBER: builtins.int FIXED_POSITION_FIELD_NUMBER: builtins.int GPS_ENABLED_FIELD_NUMBER: builtins.int GPS_UPDATE_INTERVAL_FIELD_NUMBER: builtins.int GPS_ATTEMPT_TIME_FIELD_NUMBER: builtins.int POSITION_FLAGS_FIELD_NUMBER: builtins.int RX_GPIO_FIELD_NUMBER: builtins.int TX_GPIO_FIELD_NUMBER: builtins.int BROADCAST_SMART_MINIMUM_DISTANCE_FIELD_NUMBER: builtins.int BROADCAST_SMART_MINIMUM_INTERVAL_SECS_FIELD_NUMBER: builtins.int GPS_EN_GPIO_FIELD_NUMBER: builtins.int GPS_MODE_FIELD_NUMBER: builtins.int position_broadcast_secs: builtins.int """ We should send our position this often (but only if it has changed significantly) Defaults to 15 minutes """ position_broadcast_smart_enabled: builtins.bool """ Adaptive position braoadcast, which is now the default. """ fixed_position: builtins.bool """ If set, this node is at a fixed position. We will generate GPS position updates at the regular interval, but use whatever the last lat/lon/alt we have for the node. The lat/lon/alt can be set by an internal GPS or with the help of the app. """ gps_enabled: builtins.bool """ Is GPS enabled for this node? """ gps_update_interval: builtins.int """ How often should we try to get GPS position (in seconds) or zero for the default of once every 30 seconds or a very large value (maxint) to update only once at boot. """ gps_attempt_time: builtins.int """ Deprecated in favor of using smart / regular broadcast intervals as implicit attempt time """ position_flags: builtins.int """ Bit field of boolean configuration options for POSITION messages (bitwise OR of PositionFlags) """ rx_gpio: builtins.int """ (Re)define GPS_RX_PIN for your board. """ tx_gpio: builtins.int """ (Re)define GPS_TX_PIN for your board. """ broadcast_smart_minimum_distance: builtins.int """ The minimum distance in meters traveled (since the last send) before we can send a position to the mesh if position_broadcast_smart_enabled """ broadcast_smart_minimum_interval_secs: builtins.int """ The minimum number of seconds (since the last send) before we can send a position to the mesh if position_broadcast_smart_enabled """ gps_en_gpio: builtins.int """ (Re)define PIN_GPS_EN for your board. """ gps_mode: global___Config.PositionConfig.GpsMode.ValueType """ Set where GPS is enabled, disabled, or not present """ def __init__( self, *, position_broadcast_secs: builtins.int = ..., position_broadcast_smart_enabled: builtins.bool = ..., fixed_position: builtins.bool = ..., gps_enabled: builtins.bool = ..., gps_update_interval: builtins.int = ..., gps_attempt_time: builtins.int = ..., position_flags: builtins.int = ..., rx_gpio: builtins.int = ..., tx_gpio: builtins.int = ..., broadcast_smart_minimum_distance: builtins.int = ..., broadcast_smart_minimum_interval_secs: builtins.int = ..., gps_en_gpio: builtins.int = ..., gps_mode: global___Config.PositionConfig.GpsMode.ValueType = ..., ) -> None: ... def ClearField(self, field_name: typing.Literal["broadcast_smart_minimum_distance", b"broadcast_smart_minimum_distance", "broadcast_smart_minimum_interval_secs", b"broadcast_smart_minimum_interval_secs", "fixed_position", b"fixed_position", "gps_attempt_time", b"gps_attempt_time", "gps_en_gpio", b"gps_en_gpio", "gps_enabled", b"gps_enabled", "gps_mode", b"gps_mode", "gps_update_interval", b"gps_update_interval", "position_broadcast_secs", b"position_broadcast_secs", "position_broadcast_smart_enabled", b"position_broadcast_smart_enabled", "position_flags", b"position_flags", "rx_gpio", b"rx_gpio", "tx_gpio", b"tx_gpio"]) -> None: ... @typing.final class PowerConfig(google.protobuf.message.Message): """ Power Config\\ See [Power Config](/docs/settings/config/power) for additional power config details. """ DESCRIPTOR: google.protobuf.descriptor.Descriptor IS_POWER_SAVING_FIELD_NUMBER: builtins.int ON_BATTERY_SHUTDOWN_AFTER_SECS_FIELD_NUMBER: builtins.int ADC_MULTIPLIER_OVERRIDE_FIELD_NUMBER: builtins.int WAIT_BLUETOOTH_SECS_FIELD_NUMBER: builtins.int SDS_SECS_FIELD_NUMBER: builtins.int LS_SECS_FIELD_NUMBER: builtins.int MIN_WAKE_SECS_FIELD_NUMBER: builtins.int DEVICE_BATTERY_INA_ADDRESS_FIELD_NUMBER: builtins.int POWERMON_ENABLES_FIELD_NUMBER: builtins.int is_power_saving: builtins.bool """ Description: Will sleep everything as much as possible, for the tracker and sensor role this will also include the lora radio. Don't use this setting if you want to use your device with the phone apps or are using a device without a user button. Technical Details: Works for ESP32 devices and NRF52 devices in the Sensor or Tracker roles """ on_battery_shutdown_after_secs: builtins.int """ Description: If non-zero, the device will fully power off this many seconds after external power is removed. """ adc_multiplier_override: builtins.float """ Ratio of voltage divider for battery pin eg. 3.20 (R1=100k, R2=220k) Overrides the ADC_MULTIPLIER defined in variant for battery voltage calculation. https://meshtastic.org/docs/configuration/radio/power/#adc-multiplier-override Should be set to floating point value between 2 and 6 """ wait_bluetooth_secs: builtins.int """ Description: The number of seconds for to wait before turning off BLE in No Bluetooth states Technical Details: ESP32 Only 0 for default of 1 minute """ sds_secs: builtins.int """ Super Deep Sleep Seconds While in Light Sleep if mesh_sds_timeout_secs is exceeded we will lower into super deep sleep for this value (default 1 year) or a button press 0 for default of one year """ ls_secs: builtins.int """ Description: In light sleep the CPU is suspended, LoRa radio is on, BLE is off an GPS is on Technical Details: ESP32 Only 0 for default of 300 """ min_wake_secs: builtins.int """ Description: While in light sleep when we receive packets on the LoRa radio we will wake and handle them and stay awake in no BLE mode for this value Technical Details: ESP32 Only 0 for default of 10 seconds """ device_battery_ina_address: builtins.int """ I2C address of INA_2XX to use for reading device battery voltage """ powermon_enables: builtins.int """ If non-zero, we want powermon log outputs. With the particular (bitfield) sources enabled. Note: we picked an ID of 32 so that lower more efficient IDs can be used for more frequently used options. """ def __init__( self, *, is_power_saving: builtins.bool = ..., on_battery_shutdown_after_secs: builtins.int = ..., adc_multiplier_override: builtins.float = ..., wait_bluetooth_secs: builtins.int = ..., sds_secs: builtins.int = ..., ls_secs: builtins.int = ..., min_wake_secs: builtins.int = ..., device_battery_ina_address: builtins.int = ..., powermon_enables: builtins.int = ..., ) -> None: ... def ClearField(self, field_name: typing.Literal["adc_multiplier_override", b"adc_multiplier_override", "device_battery_ina_address", b"device_battery_ina_address", "is_power_saving", b"is_power_saving", "ls_secs", b"ls_secs", "min_wake_secs", b"min_wake_secs", "on_battery_shutdown_after_secs", b"on_battery_shutdown_after_secs", "powermon_enables", b"powermon_enables", "sds_secs", b"sds_secs", "wait_bluetooth_secs", b"wait_bluetooth_secs"]) -> None: ... @typing.final class NetworkConfig(google.protobuf.message.Message): """ Network Config """ DESCRIPTOR: google.protobuf.descriptor.Descriptor class _AddressMode: ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType class _AddressModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Config.NetworkConfig._AddressMode.ValueType], builtins.type): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor DHCP: Config.NetworkConfig._AddressMode.ValueType # 0 """ obtain ip address via DHCP """ STATIC: Config.NetworkConfig._AddressMode.ValueType # 1 """ use static ip address """ class AddressMode(_AddressMode, metaclass=_AddressModeEnumTypeWrapper): ... DHCP: Config.NetworkConfig.AddressMode.ValueType # 0 """ obtain ip address via DHCP """ STATIC: Config.NetworkConfig.AddressMode.ValueType # 1 """ use static ip address """ class _ProtocolFlags: ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType class _ProtocolFlagsEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Config.NetworkConfig._ProtocolFlags.ValueType], builtins.type): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor NO_BROADCAST: Config.NetworkConfig._ProtocolFlags.ValueType # 0 """ Do not broadcast packets over any network protocol """ UDP_BROADCAST: Config.NetworkConfig._ProtocolFlags.ValueType # 1 """ Enable broadcasting packets via UDP over the local network """ class ProtocolFlags(_ProtocolFlags, metaclass=_ProtocolFlagsEnumTypeWrapper): """ Available flags auxiliary network protocols """ NO_BROADCAST: Config.NetworkConfig.ProtocolFlags.ValueType # 0 """ Do not broadcast packets over any network protocol """ UDP_BROADCAST: Config.NetworkConfig.ProtocolFlags.ValueType # 1 """ Enable broadcasting packets via UDP over the local network """ @typing.final class IpV4Config(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor IP_FIELD_NUMBER: builtins.int GATEWAY_FIELD_NUMBER: builtins.int SUBNET_FIELD_NUMBER: builtins.int DNS_FIELD_NUMBER: builtins.int ip: builtins.int """ Static IP address """ gateway: builtins.int """ Static gateway address """ subnet: builtins.int """ Static subnet mask """ dns: builtins.int """ Static DNS server address """ def __init__( self, *, ip: builtins.int = ..., gateway: builtins.int = ..., subnet: builtins.int = ..., dns: builtins.int = ..., ) -> None: ... def ClearField(self, field_name: typing.Literal["dns", b"dns", "gateway", b"gateway", "ip", b"ip", "subnet", b"subnet"]) -> None: ... WIFI_ENABLED_FIELD_NUMBER: builtins.int WIFI_SSID_FIELD_NUMBER: builtins.int WIFI_PSK_FIELD_NUMBER: builtins.int NTP_SERVER_FIELD_NUMBER: builtins.int ETH_ENABLED_FIELD_NUMBER: builtins.int ADDRESS_MODE_FIELD_NUMBER: builtins.int IPV4_CONFIG_FIELD_NUMBER: builtins.int RSYSLOG_SERVER_FIELD_NUMBER: builtins.int ENABLED_PROTOCOLS_FIELD_NUMBER: builtins.int IPV6_ENABLED_FIELD_NUMBER: builtins.int wifi_enabled: builtins.bool """ Enable WiFi (disables Bluetooth) """ wifi_ssid: builtins.str """ If set, this node will try to join the specified wifi network and acquire an address via DHCP """ wifi_psk: builtins.str """ If set, will be use to authenticate to the named wifi """ ntp_server: builtins.str """ NTP server to use if WiFi is conneced, defaults to `meshtastic.pool.ntp.org` """ eth_enabled: builtins.bool """ Enable Ethernet """ address_mode: global___Config.NetworkConfig.AddressMode.ValueType """ acquire an address via DHCP or assign static """ rsyslog_server: builtins.str """ rsyslog Server and Port """ enabled_protocols: builtins.int """ Flags for enabling/disabling network protocols """ ipv6_enabled: builtins.bool """ Enable/Disable ipv6 support """ @property def ipv4_config(self) -> global___Config.NetworkConfig.IpV4Config: """ struct to keep static address """ def __init__( self, *, wifi_enabled: builtins.bool = ..., wifi_ssid: builtins.str = ..., wifi_psk: builtins.str = ..., ntp_server: builtins.str = ..., eth_enabled: builtins.bool = ..., address_mode: global___Config.NetworkConfig.AddressMode.ValueType = ..., ipv4_config: global___Config.NetworkConfig.IpV4Config | None = ..., rsyslog_server: builtins.str = ..., enabled_protocols: builtins.int = ..., ipv6_enabled: builtins.bool = ..., ) -> None: ... def HasField(self, field_name: typing.Literal["ipv4_config", b"ipv4_config"]) -> builtins.bool: ... def ClearField(self, field_name: typing.Literal["address_mode", b"address_mode", "enabled_protocols", b"enabled_protocols", "eth_enabled", b"eth_enabled", "ipv4_config", b"ipv4_config", "ipv6_enabled", b"ipv6_enabled", "ntp_server", b"ntp_server", "rsyslog_server", b"rsyslog_server", "wifi_enabled", b"wifi_enabled", "wifi_psk", b"wifi_psk", "wifi_ssid", b"wifi_ssid"]) -> None: ... @typing.final class DisplayConfig(google.protobuf.message.Message): """ Display Config """ DESCRIPTOR: google.protobuf.descriptor.Descriptor class _DeprecatedGpsCoordinateFormat: ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType class _DeprecatedGpsCoordinateFormatEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Config.DisplayConfig._DeprecatedGpsCoordinateFormat.ValueType], builtins.type): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor UNUSED: Config.DisplayConfig._DeprecatedGpsCoordinateFormat.ValueType # 0 class DeprecatedGpsCoordinateFormat(_DeprecatedGpsCoordinateFormat, metaclass=_DeprecatedGpsCoordinateFormatEnumTypeWrapper): """ Deprecated in 2.7.4: Unused """ UNUSED: Config.DisplayConfig.DeprecatedGpsCoordinateFormat.ValueType # 0 class _DisplayUnits: ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType class _DisplayUnitsEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Config.DisplayConfig._DisplayUnits.ValueType], builtins.type): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor METRIC: Config.DisplayConfig._DisplayUnits.ValueType # 0 """ Metric (Default) """ IMPERIAL: Config.DisplayConfig._DisplayUnits.ValueType # 1 """ Imperial """ class DisplayUnits(_DisplayUnits, metaclass=_DisplayUnitsEnumTypeWrapper): """ Unit display preference """ METRIC: Config.DisplayConfig.DisplayUnits.ValueType # 0 """ Metric (Default) """ IMPERIAL: Config.DisplayConfig.DisplayUnits.ValueType # 1 """ Imperial """ class _OledType: ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType class _OledTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Config.DisplayConfig._OledType.ValueType], builtins.type): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor OLED_AUTO: Config.DisplayConfig._OledType.ValueType # 0 """ Default / Autodetect """ OLED_SSD1306: Config.DisplayConfig._OledType.ValueType # 1 """ Default / Autodetect """ OLED_SH1106: Config.DisplayConfig._OledType.ValueType # 2 """ Default / Autodetect """ OLED_SH1107: Config.DisplayConfig._OledType.ValueType # 3 """ Can not be auto detected but set by proto. Used for 128x64 screens """ OLED_SH1107_128_128: Config.DisplayConfig._OledType.ValueType # 4 """ Can not be auto detected but set by proto. Used for 128x128 screens """ OLED_SH1107_ROTATED: Config.DisplayConfig._OledType.ValueType # 5 """ Can not be auto detected but set by proto. Used for 64x128 rotated screens """ class OledType(_OledType, metaclass=_OledTypeEnumTypeWrapper): """ Override OLED outo detect with this if it fails. """ OLED_AUTO: Config.DisplayConfig.OledType.ValueType # 0 """ Default / Autodetect """ OLED_SSD1306: Config.DisplayConfig.OledType.ValueType # 1 """ Default / Autodetect """ OLED_SH1106: Config.DisplayConfig.OledType.ValueType # 2 """ Default / Autodetect """ OLED_SH1107: Config.DisplayConfig.OledType.ValueType # 3 """ Can not be auto detected but set by proto. Used for 128x64 screens """ OLED_SH1107_128_128: Config.DisplayConfig.OledType.ValueType # 4 """ Can not be auto detected but set by proto. Used for 128x128 screens """ OLED_SH1107_ROTATED: Config.DisplayConfig.OledType.ValueType # 5 """ Can not be auto detected but set by proto. Used for 64x128 rotated screens """ class _DisplayMode: ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType class _DisplayModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Config.DisplayConfig._DisplayMode.ValueType], builtins.type): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor DEFAULT: Config.DisplayConfig._DisplayMode.ValueType # 0 """ Default. The old style for the 128x64 OLED screen """ TWOCOLOR: Config.DisplayConfig._DisplayMode.ValueType # 1 """ Rearrange display elements to cater for bicolor OLED displays """ INVERTED: Config.DisplayConfig._DisplayMode.ValueType # 2 """ Same as TwoColor, but with inverted top bar. Not so good for Epaper displays """ COLOR: Config.DisplayConfig._DisplayMode.ValueType # 3 """ TFT Full Color Displays (not implemented yet) """ class DisplayMode(_DisplayMode, metaclass=_DisplayModeEnumTypeWrapper): ... DEFAULT: Config.DisplayConfig.DisplayMode.ValueType # 0 """ Default. The old style for the 128x64 OLED screen """ TWOCOLOR: Config.DisplayConfig.DisplayMode.ValueType # 1 """ Rearrange display elements to cater for bicolor OLED displays """ INVERTED: Config.DisplayConfig.DisplayMode.ValueType # 2 """ Same as TwoColor, but with inverted top bar. Not so good for Epaper displays """ COLOR: Config.DisplayConfig.DisplayMode.ValueType # 3 """ TFT Full Color Displays (not implemented yet) """ class _CompassOrientation: ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType class _CompassOrientationEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Config.DisplayConfig._CompassOrientation.ValueType], builtins.type): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor DEGREES_0: Config.DisplayConfig._CompassOrientation.ValueType # 0 """ The compass and the display are in the same orientation. """ DEGREES_90: Config.DisplayConfig._CompassOrientation.ValueType # 1 """ Rotate the compass by 90 degrees. """ DEGREES_180: Config.DisplayConfig._CompassOrientation.ValueType # 2 """ Rotate the compass by 180 degrees. """ DEGREES_270: Config.DisplayConfig._CompassOrientation.ValueType # 3 """ Rotate the compass by 270 degrees. """ DEGREES_0_INVERTED: Config.DisplayConfig._CompassOrientation.ValueType # 4 """ Don't rotate the compass, but invert the result. """ DEGREES_90_INVERTED: Config.DisplayConfig._CompassOrientation.ValueType # 5 """ Rotate the compass by 90 degrees and invert. """ DEGREES_180_INVERTED: Config.DisplayConfig._CompassOrientation.ValueType # 6 """ Rotate the compass by 180 degrees and invert. """ DEGREES_270_INVERTED: Config.DisplayConfig._CompassOrientation.ValueType # 7 """ Rotate the compass by 270 degrees and invert. """ class CompassOrientation(_CompassOrientation, metaclass=_CompassOrientationEnumTypeWrapper): ... DEGREES_0: Config.DisplayConfig.CompassOrientation.ValueType # 0 """ The compass and the display are in the same orientation. """ DEGREES_90: Config.DisplayConfig.CompassOrientation.ValueType # 1 """ Rotate the compass by 90 degrees. """ DEGREES_180: Config.DisplayConfig.CompassOrientation.ValueType # 2 """ Rotate the compass by 180 degrees. """ DEGREES_270: Config.DisplayConfig.CompassOrientation.ValueType # 3 """ Rotate the compass by 270 degrees. """ DEGREES_0_INVERTED: Config.DisplayConfig.CompassOrientation.ValueType # 4 """ Don't rotate the compass, but invert the result. """ DEGREES_90_INVERTED: Config.DisplayConfig.CompassOrientation.ValueType # 5 """ Rotate the compass by 90 degrees and invert. """ DEGREES_180_INVERTED: Config.DisplayConfig.CompassOrientation.ValueType # 6 """ Rotate the compass by 180 degrees and invert. """ DEGREES_270_INVERTED: Config.DisplayConfig.CompassOrientation.ValueType # 7 """ Rotate the compass by 270 degrees and invert. """ SCREEN_ON_SECS_FIELD_NUMBER: builtins.int GPS_FORMAT_FIELD_NUMBER: builtins.int AUTO_SCREEN_CAROUSEL_SECS_FIELD_NUMBER: builtins.int COMPASS_NORTH_TOP_FIELD_NUMBER: builtins.int FLIP_SCREEN_FIELD_NUMBER: builtins.int UNITS_FIELD_NUMBER: builtins.int OLED_FIELD_NUMBER: builtins.int DISPLAYMODE_FIELD_NUMBER: builtins.int HEADING_BOLD_FIELD_NUMBER: builtins.int WAKE_ON_TAP_OR_MOTION_FIELD_NUMBER: builtins.int COMPASS_ORIENTATION_FIELD_NUMBER: builtins.int USE_12H_CLOCK_FIELD_NUMBER: builtins.int USE_LONG_NODE_NAME_FIELD_NUMBER: builtins.int ENABLE_MESSAGE_BUBBLES_FIELD_NUMBER: builtins.int screen_on_secs: builtins.int """ Number of seconds the screen stays on after pressing the user button or receiving a message 0 for default of one minute MAXUINT for always on """ gps_format: global___Config.DisplayConfig.DeprecatedGpsCoordinateFormat.ValueType """ Deprecated in 2.7.4: Unused How the GPS coordinates are formatted on the OLED screen. """ auto_screen_carousel_secs: builtins.int """ Automatically toggles to the next page on the screen like a carousel, based the specified interval in seconds. Potentially useful for devices without user buttons. """ compass_north_top: builtins.bool """ If this is set, the displayed compass will always point north. if unset, the old behaviour (top of display is heading direction) is used. """ flip_screen: builtins.bool """ Flip screen vertically, for cases that mount the screen upside down """ units: global___Config.DisplayConfig.DisplayUnits.ValueType """ Perferred display units """ oled: global___Config.DisplayConfig.OledType.ValueType """ Override auto-detect in screen """ displaymode: global___Config.DisplayConfig.DisplayMode.ValueType """ Display Mode """ heading_bold: builtins.bool """ Print first line in pseudo-bold? FALSE is original style, TRUE is bold """ wake_on_tap_or_motion: builtins.bool """ Should we wake the screen up on accelerometer detected motion or tap """ compass_orientation: global___Config.DisplayConfig.CompassOrientation.ValueType """ Indicates how to rotate or invert the compass output to accurate display on the display. """ use_12h_clock: builtins.bool """ If false (default), the device will display the time in 24-hour format on screen. If true, the device will display the time in 12-hour format on screen. """ use_long_node_name: builtins.bool """ If false (default), the device will use short names for various display screens. If true, node names will show in long format """ enable_message_bubbles: builtins.bool """ If true, the device will display message bubbles on screen. """ def __init__( self, *, screen_on_secs: builtins.int = ..., gps_format: global___Config.DisplayConfig.DeprecatedGpsCoordinateFormat.ValueType = ..., auto_screen_carousel_secs: builtins.int = ..., compass_north_top: builtins.bool = ..., flip_screen: builtins.bool = ..., units: global___Config.DisplayConfig.DisplayUnits.ValueType = ..., oled: global___Config.DisplayConfig.OledType.ValueType = ..., displaymode: global___Config.DisplayConfig.DisplayMode.ValueType = ..., heading_bold: builtins.bool = ..., wake_on_tap_or_motion: builtins.bool = ..., compass_orientation: global___Config.DisplayConfig.CompassOrientation.ValueType = ..., use_12h_clock: builtins.bool = ..., use_long_node_name: builtins.bool = ..., enable_message_bubbles: builtins.bool = ..., ) -> None: ... def ClearField(self, field_name: typing.Literal["auto_screen_carousel_secs", b"auto_screen_carousel_secs", "compass_north_top", b"compass_north_top", "compass_orientation", b"compass_orientation", "displaymode", b"displaymode", "enable_message_bubbles", b"enable_message_bubbles", "flip_screen", b"flip_screen", "gps_format", b"gps_format", "heading_bold", b"heading_bold", "oled", b"oled", "screen_on_secs", b"screen_on_secs", "units", b"units", "use_12h_clock", b"use_12h_clock", "use_long_node_name", b"use_long_node_name", "wake_on_tap_or_motion", b"wake_on_tap_or_motion"]) -> None: ... @typing.final class LoRaConfig(google.protobuf.message.Message): """ Lora Config """ DESCRIPTOR: google.protobuf.descriptor.Descriptor class _RegionCode: ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType class _RegionCodeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Config.LoRaConfig._RegionCode.ValueType], builtins.type): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor UNSET: Config.LoRaConfig._RegionCode.ValueType # 0 """ Region is not set """ US: Config.LoRaConfig._RegionCode.ValueType # 1 """ United States """ EU_433: Config.LoRaConfig._RegionCode.ValueType # 2 """ European Union 433mhz """ EU_868: Config.LoRaConfig._RegionCode.ValueType # 3 """ European Union 868mhz """ CN: Config.LoRaConfig._RegionCode.ValueType # 4 """ China """ JP: Config.LoRaConfig._RegionCode.ValueType # 5 """ Japan """ ANZ: Config.LoRaConfig._RegionCode.ValueType # 6 """ Australia / New Zealand """ KR: Config.LoRaConfig._RegionCode.ValueType # 7 """ Korea """ TW: Config.LoRaConfig._RegionCode.ValueType # 8 """ Taiwan """ RU: Config.LoRaConfig._RegionCode.ValueType # 9 """ Russia """ IN: Config.LoRaConfig._RegionCode.ValueType # 10 """ India """ NZ_865: Config.LoRaConfig._RegionCode.ValueType # 11 """ New Zealand 865mhz """ TH: Config.LoRaConfig._RegionCode.ValueType # 12 """ Thailand """ LORA_24: Config.LoRaConfig._RegionCode.ValueType # 13 """ WLAN Band """ UA_433: Config.LoRaConfig._RegionCode.ValueType # 14 """ Ukraine 433mhz """ UA_868: Config.LoRaConfig._RegionCode.ValueType # 15 """ Ukraine 868mhz """ MY_433: Config.LoRaConfig._RegionCode.ValueType # 16 """ Malaysia 433mhz """ MY_919: Config.LoRaConfig._RegionCode.ValueType # 17 """ Malaysia 919mhz """ SG_923: Config.LoRaConfig._RegionCode.ValueType # 18 """ Singapore 923mhz """ PH_433: Config.LoRaConfig._RegionCode.ValueType # 19 """ Philippines 433mhz """ PH_868: Config.LoRaConfig._RegionCode.ValueType # 20 """ Philippines 868mhz """ PH_915: Config.LoRaConfig._RegionCode.ValueType # 21 """ Philippines 915mhz """ ANZ_433: Config.LoRaConfig._RegionCode.ValueType # 22 """ Australia / New Zealand 433MHz """ KZ_433: Config.LoRaConfig._RegionCode.ValueType # 23 """ Kazakhstan 433MHz """ KZ_863: Config.LoRaConfig._RegionCode.ValueType # 24 """ Kazakhstan 863MHz """ NP_865: Config.LoRaConfig._RegionCode.ValueType # 25 """ Nepal 865MHz """ BR_902: Config.LoRaConfig._RegionCode.ValueType # 26 """ Brazil 902MHz """ ITU1_2M: Config.LoRaConfig._RegionCode.ValueType # 27 """ ITU Region 1 Amateur Radio 2m band (144-146 MHz) """ ITU2_2M: Config.LoRaConfig._RegionCode.ValueType # 28 """ ITU Region 2 Amateur Radio 2m band (144-148 MHz) """ EU_866: Config.LoRaConfig._RegionCode.ValueType # 29 """ EU 866MHz band (Band no. 47b of 2006/771/EC and subsequent amendments) for Non-specific short-range devices (SRD) """ EU_874: Config.LoRaConfig._RegionCode.ValueType # 30 """ EU 874MHz and 917MHz bands (Band no. 1 and 4 of 2022/172/EC and subsequent amendments) for Non-specific short-range devices (SRD) """ EU_917: Config.LoRaConfig._RegionCode.ValueType # 31 EU_N_868: Config.LoRaConfig._RegionCode.ValueType # 32 """ EU 868MHz band, with narrow presets """ ITU3_2M: Config.LoRaConfig._RegionCode.ValueType # 33 """ ITU Region 3 Amateur Radio 2m band (144-148 MHz) """ class RegionCode(_RegionCode, metaclass=_RegionCodeEnumTypeWrapper): ... UNSET: Config.LoRaConfig.RegionCode.ValueType # 0 """ Region is not set """ US: Config.LoRaConfig.RegionCode.ValueType # 1 """ United States """ EU_433: Config.LoRaConfig.RegionCode.ValueType # 2 """ European Union 433mhz """ EU_868: Config.LoRaConfig.RegionCode.ValueType # 3 """ European Union 868mhz """ CN: Config.LoRaConfig.RegionCode.ValueType # 4 """ China """ JP: Config.LoRaConfig.RegionCode.ValueType # 5 """ Japan """ ANZ: Config.LoRaConfig.RegionCode.ValueType # 6 """ Australia / New Zealand """ KR: Config.LoRaConfig.RegionCode.ValueType # 7 """ Korea """ TW: Config.LoRaConfig.RegionCode.ValueType # 8 """ Taiwan """ RU: Config.LoRaConfig.RegionCode.ValueType # 9 """ Russia """ IN: Config.LoRaConfig.RegionCode.ValueType # 10 """ India """ NZ_865: Config.LoRaConfig.RegionCode.ValueType # 11 """ New Zealand 865mhz """ TH: Config.LoRaConfig.RegionCode.ValueType # 12 """ Thailand """ LORA_24: Config.LoRaConfig.RegionCode.ValueType # 13 """ WLAN Band """ UA_433: Config.LoRaConfig.RegionCode.ValueType # 14 """ Ukraine 433mhz """ UA_868: Config.LoRaConfig.RegionCode.ValueType # 15 """ Ukraine 868mhz """ MY_433: Config.LoRaConfig.RegionCode.ValueType # 16 """ Malaysia 433mhz """ MY_919: Config.LoRaConfig.RegionCode.ValueType # 17 """ Malaysia 919mhz """ SG_923: Config.LoRaConfig.RegionCode.ValueType # 18 """ Singapore 923mhz """ PH_433: Config.LoRaConfig.RegionCode.ValueType # 19 """ Philippines 433mhz """ PH_868: Config.LoRaConfig.RegionCode.ValueType # 20 """ Philippines 868mhz """ PH_915: Config.LoRaConfig.RegionCode.ValueType # 21 """ Philippines 915mhz """ ANZ_433: Config.LoRaConfig.RegionCode.ValueType # 22 """ Australia / New Zealand 433MHz """ KZ_433: Config.LoRaConfig.RegionCode.ValueType # 23 """ Kazakhstan 433MHz """ KZ_863: Config.LoRaConfig.RegionCode.ValueType # 24 """ Kazakhstan 863MHz """ NP_865: Config.LoRaConfig.RegionCode.ValueType # 25 """ Nepal 865MHz """ BR_902: Config.LoRaConfig.RegionCode.ValueType # 26 """ Brazil 902MHz """ ITU1_2M: Config.LoRaConfig.RegionCode.ValueType # 27 """ ITU Region 1 Amateur Radio 2m band (144-146 MHz) """ ITU2_2M: Config.LoRaConfig.RegionCode.ValueType # 28 """ ITU Region 2 Amateur Radio 2m band (144-148 MHz) """ EU_866: Config.LoRaConfig.RegionCode.ValueType # 29 """ EU 866MHz band (Band no. 47b of 2006/771/EC and subsequent amendments) for Non-specific short-range devices (SRD) """ EU_874: Config.LoRaConfig.RegionCode.ValueType # 30 """ EU 874MHz and 917MHz bands (Band no. 1 and 4 of 2022/172/EC and subsequent amendments) for Non-specific short-range devices (SRD) """ EU_917: Config.LoRaConfig.RegionCode.ValueType # 31 EU_N_868: Config.LoRaConfig.RegionCode.ValueType # 32 """ EU 868MHz band, with narrow presets """ ITU3_2M: Config.LoRaConfig.RegionCode.ValueType # 33 """ ITU Region 3 Amateur Radio 2m band (144-148 MHz) """ class _ModemPreset: ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType class _ModemPresetEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Config.LoRaConfig._ModemPreset.ValueType], builtins.type): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor LONG_FAST: Config.LoRaConfig._ModemPreset.ValueType # 0 """ Long Range - Fast """ LONG_SLOW: Config.LoRaConfig._ModemPreset.ValueType # 1 """ Long Range - Slow Deprecated in 2.7: Unpopular slow preset. """ VERY_LONG_SLOW: Config.LoRaConfig._ModemPreset.ValueType # 2 """ Very Long Range - Slow Deprecated in 2.5: Works only with txco and is unusably slow """ MEDIUM_SLOW: Config.LoRaConfig._ModemPreset.ValueType # 3 """ Medium Range - Slow """ MEDIUM_FAST: Config.LoRaConfig._ModemPreset.ValueType # 4 """ Medium Range - Fast """ SHORT_SLOW: Config.LoRaConfig._ModemPreset.ValueType # 5 """ Short Range - Slow """ SHORT_FAST: Config.LoRaConfig._ModemPreset.ValueType # 6 """ Short Range - Fast """ LONG_MODERATE: Config.LoRaConfig._ModemPreset.ValueType # 7 """ Long Range - Moderately Fast """ SHORT_TURBO: Config.LoRaConfig._ModemPreset.ValueType # 8 """ Short Range - Turbo This is the fastest preset and the only one with 500kHz bandwidth. It is not legal to use in all regions due to this wider bandwidth. """ LONG_TURBO: Config.LoRaConfig._ModemPreset.ValueType # 9 """ Long Range - Turbo This preset performs similarly to LongFast, but with 500Khz bandwidth. """ LITE_FAST: Config.LoRaConfig._ModemPreset.ValueType # 10 """ Lite Fast Medium range preset optimized for EU 866MHz SRD band with 125kHz bandwidth. Comparable link budget to MEDIUM_FAST but compliant with Band no. 47b of 2006/771/EC. """ LITE_SLOW: Config.LoRaConfig._ModemPreset.ValueType # 11 """ Lite Slow Medium-to-moderate range preset optimized for EU 866MHz SRD band with 125kHz bandwidth. Comparable link budget to LONG_FAST but compliant with Band no. 47b of 2006/771/EC. """ NARROW_FAST: Config.LoRaConfig._ModemPreset.ValueType # 12 """ Narrow Fast Medium-to-moderate range preset optimized for EU 868MHz band with 62.5kHz bandwidth. Comparable link budget to SHORT_SLOW, but with half the data rate. Intended to avoid interference with other devices. """ NARROW_SLOW: Config.LoRaConfig._ModemPreset.ValueType # 13 """ Narrow Slow Moderate range preset optimized for EU 868MHz band with 62.5kHz bandwidth. Comparable link budget and data rate to LONG_FAST. """ class ModemPreset(_ModemPreset, metaclass=_ModemPresetEnumTypeWrapper): """ Standard predefined channel settings Note: these mappings must match ModemPreset Choice in the device code. """ LONG_FAST: Config.LoRaConfig.ModemPreset.ValueType # 0 """ Long Range - Fast """ LONG_SLOW: Config.LoRaConfig.ModemPreset.ValueType # 1 """ Long Range - Slow Deprecated in 2.7: Unpopular slow preset. """ VERY_LONG_SLOW: Config.LoRaConfig.ModemPreset.ValueType # 2 """ Very Long Range - Slow Deprecated in 2.5: Works only with txco and is unusably slow """ MEDIUM_SLOW: Config.LoRaConfig.ModemPreset.ValueType # 3 """ Medium Range - Slow """ MEDIUM_FAST: Config.LoRaConfig.ModemPreset.ValueType # 4 """ Medium Range - Fast """ SHORT_SLOW: Config.LoRaConfig.ModemPreset.ValueType # 5 """ Short Range - Slow """ SHORT_FAST: Config.LoRaConfig.ModemPreset.ValueType # 6 """ Short Range - Fast """ LONG_MODERATE: Config.LoRaConfig.ModemPreset.ValueType # 7 """ Long Range - Moderately Fast """ SHORT_TURBO: Config.LoRaConfig.ModemPreset.ValueType # 8 """ Short Range - Turbo This is the fastest preset and the only one with 500kHz bandwidth. It is not legal to use in all regions due to this wider bandwidth. """ LONG_TURBO: Config.LoRaConfig.ModemPreset.ValueType # 9 """ Long Range - Turbo This preset performs similarly to LongFast, but with 500Khz bandwidth. """ LITE_FAST: Config.LoRaConfig.ModemPreset.ValueType # 10 """ Lite Fast Medium range preset optimized for EU 866MHz SRD band with 125kHz bandwidth. Comparable link budget to MEDIUM_FAST but compliant with Band no. 47b of 2006/771/EC. """ LITE_SLOW: Config.LoRaConfig.ModemPreset.ValueType # 11 """ Lite Slow Medium-to-moderate range preset optimized for EU 866MHz SRD band with 125kHz bandwidth. Comparable link budget to LONG_FAST but compliant with Band no. 47b of 2006/771/EC. """ NARROW_FAST: Config.LoRaConfig.ModemPreset.ValueType # 12 """ Narrow Fast Medium-to-moderate range preset optimized for EU 868MHz band with 62.5kHz bandwidth. Comparable link budget to SHORT_SLOW, but with half the data rate. Intended to avoid interference with other devices. """ NARROW_SLOW: Config.LoRaConfig.ModemPreset.ValueType # 13 """ Narrow Slow Moderate range preset optimized for EU 868MHz band with 62.5kHz bandwidth. Comparable link budget and data rate to LONG_FAST. """ class _FEM_LNA_Mode: ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType class _FEM_LNA_ModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Config.LoRaConfig._FEM_LNA_Mode.ValueType], builtins.type): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor DISABLED: Config.LoRaConfig._FEM_LNA_Mode.ValueType # 0 """ FEM_LNA is present but disabled """ ENABLED: Config.LoRaConfig._FEM_LNA_Mode.ValueType # 1 """ FEM_LNA is present and enabled """ NOT_PRESENT: Config.LoRaConfig._FEM_LNA_Mode.ValueType # 2 """ FEM_LNA is not present on the device """ class FEM_LNA_Mode(_FEM_LNA_Mode, metaclass=_FEM_LNA_ModeEnumTypeWrapper): ... DISABLED: Config.LoRaConfig.FEM_LNA_Mode.ValueType # 0 """ FEM_LNA is present but disabled """ ENABLED: Config.LoRaConfig.FEM_LNA_Mode.ValueType # 1 """ FEM_LNA is present and enabled """ NOT_PRESENT: Config.LoRaConfig.FEM_LNA_Mode.ValueType # 2 """ FEM_LNA is not present on the device """ USE_PRESET_FIELD_NUMBER: builtins.int MODEM_PRESET_FIELD_NUMBER: builtins.int BANDWIDTH_FIELD_NUMBER: builtins.int SPREAD_FACTOR_FIELD_NUMBER: builtins.int CODING_RATE_FIELD_NUMBER: builtins.int FREQUENCY_OFFSET_FIELD_NUMBER: builtins.int REGION_FIELD_NUMBER: builtins.int HOP_LIMIT_FIELD_NUMBER: builtins.int TX_ENABLED_FIELD_NUMBER: builtins.int TX_POWER_FIELD_NUMBER: builtins.int CHANNEL_NUM_FIELD_NUMBER: builtins.int OVERRIDE_DUTY_CYCLE_FIELD_NUMBER: builtins.int SX126X_RX_BOOSTED_GAIN_FIELD_NUMBER: builtins.int OVERRIDE_FREQUENCY_FIELD_NUMBER: builtins.int PA_FAN_DISABLED_FIELD_NUMBER: builtins.int IGNORE_INCOMING_FIELD_NUMBER: builtins.int IGNORE_MQTT_FIELD_NUMBER: builtins.int CONFIG_OK_TO_MQTT_FIELD_NUMBER: builtins.int FEM_LNA_MODE_FIELD_NUMBER: builtins.int SERIAL_HAL_ONLY_FIELD_NUMBER: builtins.int use_preset: builtins.bool """ When enabled, the `modem_preset` fields will be adhered to, else the `bandwidth`/`spread_factor`/`coding_rate` will be taked from their respective manually defined fields """ modem_preset: global___Config.LoRaConfig.ModemPreset.ValueType """ Either modem_config or bandwidth/spreading/coding will be specified - NOT BOTH. As a heuristic: If bandwidth is specified, do not use modem_config. Because protobufs take ZERO space when the value is zero this works out nicely. This value is replaced by bandwidth/spread_factor/coding_rate. If you'd like to experiment with other options add them to MeshRadio.cpp in the device code. """ bandwidth: builtins.int """ Bandwidth in MHz Certain bandwidth numbers are 'special' and will be converted to the appropriate floating point value: 31 -> 31.25MHz """ spread_factor: builtins.int """ A number from 7 to 12. Indicates number of chirps per symbol as 1< 7 results in the default """ tx_enabled: builtins.bool """ Disable TX from the LoRa radio. Useful for hot-swapping antennas and other tests. Defaults to false """ tx_power: builtins.int """ If zero, then use default max legal continuous power (ie. something that won't burn out the radio hardware) In most cases you should use zero here. Units are in dBm. """ channel_num: builtins.int """ This controls the actual hardware frequency the radio transmits on. Most users should never need to be exposed to this field/concept. A channel number between 1 and NUM_CHANNELS (whatever the max is in the current region). If ZERO then the rule is "use the old channel name hash based algorithm to derive the channel number") If using the hash algorithm the channel number will be: hash(channel_name) % NUM_CHANNELS (Where num channels depends on the regulatory region). """ override_duty_cycle: builtins.bool """ If true, duty cycle limits will be exceeded and thus you're possibly not following the local regulations if you're not a HAM. Has no effect if the duty cycle of the used region is 100%. """ sx126x_rx_boosted_gain: builtins.bool """ If true, sets RX boosted gain mode on SX126X based radios """ override_frequency: builtins.float """ This parameter is for advanced users and licensed HAM radio operators. Ignore Channel Calculation and use this frequency instead. The frequency_offset will still be applied. This will allow you to use out-of-band frequencies. Please respect your local laws and regulations. If you are a HAM, make sure you enable HAM mode and turn off encryption. """ pa_fan_disabled: builtins.bool """ If true, disable the build-in PA FAN using pin define in RF95_FAN_EN. """ ignore_mqtt: builtins.bool """ If true, the device will not process any packets received via LoRa that passed via MQTT anywhere on the path towards it. """ config_ok_to_mqtt: builtins.bool """ Sets the ok_to_mqtt bit on outgoing packets """ fem_lna_mode: global___Config.LoRaConfig.FEM_LNA_Mode.ValueType """ Set where LORA FEM is enabled, disabled, or not present """ serial_hal_only: builtins.bool """ Don't use radiolib to initialize the radio, instead listen for a serialHal connection """ @property def ignore_incoming(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: """ For testing it is useful sometimes to force a node to never listen to particular other nodes (simulating radio out of range). All nodenums listed in ignore_incoming will have packets they send dropped on receive (by router.cpp) """ def __init__( self, *, use_preset: builtins.bool = ..., modem_preset: global___Config.LoRaConfig.ModemPreset.ValueType = ..., bandwidth: builtins.int = ..., spread_factor: builtins.int = ..., coding_rate: builtins.int = ..., frequency_offset: builtins.float = ..., region: global___Config.LoRaConfig.RegionCode.ValueType = ..., hop_limit: builtins.int = ..., tx_enabled: builtins.bool = ..., tx_power: builtins.int = ..., channel_num: builtins.int = ..., override_duty_cycle: builtins.bool = ..., sx126x_rx_boosted_gain: builtins.bool = ..., override_frequency: builtins.float = ..., pa_fan_disabled: builtins.bool = ..., ignore_incoming: collections.abc.Iterable[builtins.int] | None = ..., ignore_mqtt: builtins.bool = ..., config_ok_to_mqtt: builtins.bool = ..., fem_lna_mode: global___Config.LoRaConfig.FEM_LNA_Mode.ValueType = ..., serial_hal_only: builtins.bool = ..., ) -> None: ... def ClearField(self, field_name: typing.Literal["bandwidth", b"bandwidth", "channel_num", b"channel_num", "coding_rate", b"coding_rate", "config_ok_to_mqtt", b"config_ok_to_mqtt", "fem_lna_mode", b"fem_lna_mode", "frequency_offset", b"frequency_offset", "hop_limit", b"hop_limit", "ignore_incoming", b"ignore_incoming", "ignore_mqtt", b"ignore_mqtt", "modem_preset", b"modem_preset", "override_duty_cycle", b"override_duty_cycle", "override_frequency", b"override_frequency", "pa_fan_disabled", b"pa_fan_disabled", "region", b"region", "serial_hal_only", b"serial_hal_only", "spread_factor", b"spread_factor", "sx126x_rx_boosted_gain", b"sx126x_rx_boosted_gain", "tx_enabled", b"tx_enabled", "tx_power", b"tx_power", "use_preset", b"use_preset"]) -> None: ... @typing.final class BluetoothConfig(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor class _PairingMode: ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType class _PairingModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Config.BluetoothConfig._PairingMode.ValueType], builtins.type): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor RANDOM_PIN: Config.BluetoothConfig._PairingMode.ValueType # 0 """ Device generates a random PIN that will be shown on the screen of the device for pairing """ FIXED_PIN: Config.BluetoothConfig._PairingMode.ValueType # 1 """ Device requires a specified fixed PIN for pairing """ NO_PIN: Config.BluetoothConfig._PairingMode.ValueType # 2 """ Device requires no PIN for pairing """ class PairingMode(_PairingMode, metaclass=_PairingModeEnumTypeWrapper): ... RANDOM_PIN: Config.BluetoothConfig.PairingMode.ValueType # 0 """ Device generates a random PIN that will be shown on the screen of the device for pairing """ FIXED_PIN: Config.BluetoothConfig.PairingMode.ValueType # 1 """ Device requires a specified fixed PIN for pairing """ NO_PIN: Config.BluetoothConfig.PairingMode.ValueType # 2 """ Device requires no PIN for pairing """ ENABLED_FIELD_NUMBER: builtins.int MODE_FIELD_NUMBER: builtins.int FIXED_PIN_FIELD_NUMBER: builtins.int enabled: builtins.bool """ Enable Bluetooth on the device """ mode: global___Config.BluetoothConfig.PairingMode.ValueType """ Determines the pairing strategy for the device """ fixed_pin: builtins.int """ Specified PIN for PairingMode.FixedPin """ def __init__( self, *, enabled: builtins.bool = ..., mode: global___Config.BluetoothConfig.PairingMode.ValueType = ..., fixed_pin: builtins.int = ..., ) -> None: ... def ClearField(self, field_name: typing.Literal["enabled", b"enabled", "fixed_pin", b"fixed_pin", "mode", b"mode"]) -> None: ... @typing.final class SecurityConfig(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor PUBLIC_KEY_FIELD_NUMBER: builtins.int PRIVATE_KEY_FIELD_NUMBER: builtins.int ADMIN_KEY_FIELD_NUMBER: builtins.int IS_MANAGED_FIELD_NUMBER: builtins.int SERIAL_ENABLED_FIELD_NUMBER: builtins.int DEBUG_LOG_API_ENABLED_FIELD_NUMBER: builtins.int ADMIN_CHANNEL_ENABLED_FIELD_NUMBER: builtins.int public_key: builtins.bytes """ The public key of the user's device. Sent out to other nodes on the mesh to allow them to compute a shared secret key. """ private_key: builtins.bytes """ The private key of the device. Used to create a shared key with a remote device. """ is_managed: builtins.bool """ If true, device is considered to be "managed" by a mesh administrator via admin messages Device is managed by a mesh administrator. """ serial_enabled: builtins.bool """ Serial Console over the Stream API." """ debug_log_api_enabled: builtins.bool """ By default we turn off logging as soon as an API client connects (to keep shared serial link quiet). Output live debug logging over serial or bluetooth is set to true. """ admin_channel_enabled: builtins.bool """ Allow incoming device control over the insecure legacy admin channel. """ @property def admin_key(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.bytes]: """ The public key authorized to send admin messages to this node. """ def __init__( self, *, public_key: builtins.bytes = ..., private_key: builtins.bytes = ..., admin_key: collections.abc.Iterable[builtins.bytes] | None = ..., is_managed: builtins.bool = ..., serial_enabled: builtins.bool = ..., debug_log_api_enabled: builtins.bool = ..., admin_channel_enabled: builtins.bool = ..., ) -> None: ... def ClearField(self, field_name: typing.Literal["admin_channel_enabled", b"admin_channel_enabled", "admin_key", b"admin_key", "debug_log_api_enabled", b"debug_log_api_enabled", "is_managed", b"is_managed", "private_key", b"private_key", "public_key", b"public_key", "serial_enabled", b"serial_enabled"]) -> None: ... @typing.final class SessionkeyConfig(google.protobuf.message.Message): """ Blank config request, strictly for getting the session key """ DESCRIPTOR: google.protobuf.descriptor.Descriptor def __init__( self, ) -> None: ... DEVICE_FIELD_NUMBER: builtins.int POSITION_FIELD_NUMBER: builtins.int POWER_FIELD_NUMBER: builtins.int NETWORK_FIELD_NUMBER: builtins.int DISPLAY_FIELD_NUMBER: builtins.int LORA_FIELD_NUMBER: builtins.int BLUETOOTH_FIELD_NUMBER: builtins.int SECURITY_FIELD_NUMBER: builtins.int SESSIONKEY_FIELD_NUMBER: builtins.int DEVICE_UI_FIELD_NUMBER: builtins.int @property def device(self) -> global___Config.DeviceConfig: ... @property def position(self) -> global___Config.PositionConfig: ... @property def power(self) -> global___Config.PowerConfig: ... @property def network(self) -> global___Config.NetworkConfig: ... @property def display(self) -> global___Config.DisplayConfig: ... @property def lora(self) -> global___Config.LoRaConfig: ... @property def bluetooth(self) -> global___Config.BluetoothConfig: ... @property def security(self) -> global___Config.SecurityConfig: ... @property def sessionkey(self) -> global___Config.SessionkeyConfig: ... @property def device_ui(self) -> meshtastic.protobuf.device_ui_pb2.DeviceUIConfig: ... def __init__( self, *, device: global___Config.DeviceConfig | None = ..., position: global___Config.PositionConfig | None = ..., power: global___Config.PowerConfig | None = ..., network: global___Config.NetworkConfig | None = ..., display: global___Config.DisplayConfig | None = ..., lora: global___Config.LoRaConfig | None = ..., bluetooth: global___Config.BluetoothConfig | None = ..., security: global___Config.SecurityConfig | None = ..., sessionkey: global___Config.SessionkeyConfig | None = ..., device_ui: meshtastic.protobuf.device_ui_pb2.DeviceUIConfig | None = ..., ) -> None: ... def HasField(self, field_name: typing.Literal["bluetooth", b"bluetooth", "device", b"device", "device_ui", b"device_ui", "display", b"display", "lora", b"lora", "network", b"network", "payload_variant", b"payload_variant", "position", b"position", "power", b"power", "security", b"security", "sessionkey", b"sessionkey"]) -> builtins.bool: ... def ClearField(self, field_name: typing.Literal["bluetooth", b"bluetooth", "device", b"device", "device_ui", b"device_ui", "display", b"display", "lora", b"lora", "network", b"network", "payload_variant", b"payload_variant", "position", b"position", "power", b"power", "security", b"security", "sessionkey", b"sessionkey"]) -> None: ... def WhichOneof(self, oneof_group: typing.Literal["payload_variant", b"payload_variant"]) -> typing.Literal["device", "position", "power", "network", "display", "lora", "bluetooth", "security", "sessionkey", "device_ui"] | None: ... global___Config = Config