Lora Config

from message meshtastic.Config.LoRaConfig

Hierarchy

Constructors

  • Parameters

    Returns Config_LoRaConfig

Properties

bandwidth: number

Bandwidth in MHz Certain bandwidth numbers are 'special' and will be converted to the appropriate floating point value: 31 -> 31.25MHz

from field: uint32 bandwidth = 3;

channelNum: number

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).

from field: uint32 channel_num = 11;

codingRate: number

The denominator of the coding rate. ie for 4/5, the value is 5. 4/8 the value is 8.

from field: uint32 coding_rate = 5;

configOkToMqtt: boolean

Sets the ok_to_mqtt bit on outgoing packets

from field: bool config_ok_to_mqtt = 105;

frequencyOffset: number

This parameter is for advanced users with advanced test equipment, we do not recommend most users use it. A frequency offset that is added to to the calculated band center frequency. Used to correct for crystal calibration errors.

from field: float frequency_offset = 6;

hopLimit: number

Maximum number of hops. This can't be greater than 7. Default of 3 Attempting to set a value > 7 results in the default

from field: uint32 hop_limit = 8;

ignoreIncoming: number[]

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)

from field: repeated uint32 ignore_incoming = 103;

ignoreMqtt: boolean

If true, the device will not process any packets received via LoRa that passed via MQTT anywhere on the path towards it.

from field: bool ignore_mqtt = 104;

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.

from field: meshtastic.Config.LoRaConfig.ModemPreset modem_preset = 2;

overrideDutyCycle: boolean

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%.

from field: bool override_duty_cycle = 12;

overrideFrequency: number

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.

from field: float override_frequency = 14;

paFanDisabled: boolean

If true, disable the build-in PA FAN using pin define in RF95_FAN_EN.

from field: bool pa_fan_disabled = 15;

The region code for the radio (US, CN, EU433, etc...)

from field: meshtastic.Config.LoRaConfig.RegionCode region = 7;

spreadFactor: number

A number from 7 to 12. Indicates number of chirps per symbol as 1<<spread_factor.

from field: uint32 spread_factor = 4;

sx126xRxBoostedGain: boolean

If true, sets RX boosted gain mode on SX126X based radios

from field: bool sx126x_rx_boosted_gain = 13;

txEnabled: boolean

Disable TX from the LoRa radio. Useful for hot-swapping antennas and other tests. Defaults to false

from field: bool tx_enabled = 9;

txPower: number

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.

from field: int32 tx_power = 10;

usePreset: boolean

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

from field: bool use_preset = 1;

fields: FieldList
runtime: ProtoRuntime
typeName: "meshtastic.Config.LoRaConfig" = "meshtastic.Config.LoRaConfig"

Methods

  • Create a deep copy.

    Returns Config_LoRaConfig

  • Compare with a message of the same type. Note that this function disregards extensions and unknown fields.

    Parameters

    Returns boolean

  • Parse from binary data, merging fields.

    Repeated fields are appended. Map entries are added, overwriting existing keys.

    If a message field is already present, it will be merged with the new data.

    Parameters

    • bytes: Uint8Array
    • Optionaloptions: Partial<BinaryReadOptions>

    Returns this

  • Parse a message from a JSON value.

    Parameters

    • jsonValue: JsonValue
    • Optionaloptions: Partial<JsonReadOptions>

    Returns this

  • Parse a message from a JSON string.

    Parameters

    • jsonString: string
    • Optionaloptions: Partial<JsonReadOptions>

    Returns this

  • Retrieve the MessageType of this message - a singleton that represents the protobuf message declaration and provides metadata for reflection- based operations.

    Returns MessageType<Config_LoRaConfig>

  • Serialize the message to binary data.

    Parameters

    • Optionaloptions: Partial<BinaryWriteOptions>

    Returns Uint8Array

  • Override for serialization behavior. This will be invoked when calling JSON.stringify on this message (i.e. JSON.stringify(msg)).

    Note that this will not serialize google.protobuf.Any with a packed message because the protobuf JSON format specifies that it needs to be unpacked, and this is only possible with a type registry to look up the message type. As a result, attempting to serialize a message with this type will throw an Error.

    This method is protected because you should not need to invoke it directly -- instead use JSON.stringify or toJsonString for stringified JSON. Alternatively, if actual JSON is desired, you should use toJson.

    Returns JsonValue

  • Serialize the message to a JSON value, a JavaScript value that can be passed to JSON.stringify().

    Parameters

    • Optionaloptions: Partial<JsonWriteOptions>

    Returns JsonValue

  • Serialize the message to a JSON string.

    Parameters

    • Optionaloptions: Partial<JsonWriteStringOptions>

    Returns string

  • Parameters

    Returns boolean

  • Parameters

    • bytes: Uint8Array
    • Optionaloptions: Partial<BinaryReadOptions>

    Returns Config_LoRaConfig

  • Parameters

    • jsonValue: JsonValue
    • Optionaloptions: Partial<JsonReadOptions>

    Returns Config_LoRaConfig

  • Parameters

    • jsonString: string
    • Optionaloptions: Partial<JsonReadOptions>

    Returns Config_LoRaConfig