FromRadio: Message<"meshtastic.FromRadio"> & {
    id: number;
    payloadVariant:
        | {
            case: "packet";
            value: MeshPacket;
        }
        | {
            case: "myInfo";
            value: MyNodeInfo;
        }
        | {
            case: "nodeInfo";
            value: NodeInfo;
        }
        | {
            case: "config";
            value: Config;
        }
        | {
            case: "logRecord";
            value: LogRecord;
        }
        | {
            case: "configCompleteId";
            value: number;
        }
        | {
            case: "rebooted";
            value: boolean;
        }
        | {
            case: "moduleConfig";
            value: ModuleConfig;
        }
        | {
            case: "channel";
            value: Channel;
        }
        | {
            case: "queueStatus";
            value: QueueStatus;
        }
        | {
            case: "xmodemPacket";
            value: XModem;
        }
        | {
            case: "metadata";
            value: DeviceMetadata;
        }
        | {
            case: "mqttClientProxyMessage";
            value: MqttClientProxyMessage;
        }
        | {
            case: "fileInfo";
            value: FileInfo;
        }
        | {
            case: "clientNotification";
            value: ClientNotification;
        }
        | {
            case: "deviceuiConfig";
            value: DeviceUIConfig;
        }
        | {
            case: undefined;
            value?: undefined;
        };
}

Packets from the radio to the phone will appear on the fromRadio characteristic. It will support READ and NOTIFY. When a new packet arrives the device will BLE notify? It will sit in that descriptor until consumed by the phone, at which point the next item in the FIFO will be populated.

Type declaration

  • id: number

    The packet id, used to allow the phone to request missing read packets from the FIFO, see our bluetooth docs

    from field: uint32 id = 1;

  • payloadVariant:
        | {
            case: "packet";
            value: MeshPacket;
        }
        | {
            case: "myInfo";
            value: MyNodeInfo;
        }
        | {
            case: "nodeInfo";
            value: NodeInfo;
        }
        | {
            case: "config";
            value: Config;
        }
        | {
            case: "logRecord";
            value: LogRecord;
        }
        | {
            case: "configCompleteId";
            value: number;
        }
        | {
            case: "rebooted";
            value: boolean;
        }
        | {
            case: "moduleConfig";
            value: ModuleConfig;
        }
        | {
            case: "channel";
            value: Channel;
        }
        | {
            case: "queueStatus";
            value: QueueStatus;
        }
        | {
            case: "xmodemPacket";
            value: XModem;
        }
        | {
            case: "metadata";
            value: DeviceMetadata;
        }
        | {
            case: "mqttClientProxyMessage";
            value: MqttClientProxyMessage;
        }
        | {
            case: "fileInfo";
            value: FileInfo;
        }
        | {
            case: "clientNotification";
            value: ClientNotification;
        }
        | {
            case: "deviceuiConfig";
            value: DeviceUIConfig;
        }
        | {
            case: undefined;
            value?: undefined;
        }

    Log levels, chosen to match python logging conventions.

    from oneof meshtastic.FromRadio.payload_variant

from message meshtastic.FromRadio