// @generated by protoc-gen-es v2.12.0 with parameter "target=ts"
// @generated from file meshtastic/telemetry.proto (package meshtastic, syntax proto3)
/* eslint-disable */

import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file meshtastic/telemetry.proto.
 */
export const file_meshtastic_telemetry: GenFile = /*@__PURE__*/
  fileDesc(" ");

/**
 *
 * Key native device metrics such as battery level
 *
 * @generated from message meshtastic.DeviceMetrics
 */
export type DeviceMetrics = Message<"meshtastic.DeviceMetrics"> & {
  /**
   *
   * 0-100 (>100 means powered)
   *
   * @generated from field: optional uint32 battery_level = 1;
   */
  batteryLevel?: number | undefined;

  /**
   *
   * Voltage measured
   *
   * @generated from field: optional float voltage = 2;
   */
  voltage?: number | undefined;

  /**
   *
   * Utilization for the current channel, including well formed TX, RX and malformed RX (aka noise).
   *
   * @generated from field: optional float channel_utilization = 3;
   */
  channelUtilization?: number | undefined;

  /**
   *
   * Percent of airtime for transmission used within the last hour.
   *
   * @generated from field: optional float air_util_tx = 4;
   */
  airUtilTx?: number | undefined;

  /**
   *
   * How long the device has been running since the last reboot (in seconds)
   *
   * @generated from field: optional uint32 uptime_seconds = 5;
   */
  uptimeSeconds?: number | undefined;
};

/**
 * Describes the message meshtastic.DeviceMetrics.
 * Use `create(DeviceMetricsSchema)` to create a new message.
 */
export const DeviceMetricsSchema: GenMessage<DeviceMetrics> = /*@__PURE__*/
  messageDesc(file_meshtastic_telemetry, 0);

/**
 *
 * Weather station or other environmental metrics
 *
 * @generated from message meshtastic.EnvironmentMetrics
 */
export type EnvironmentMetrics = Message<"meshtastic.EnvironmentMetrics"> & {
  /**
   *
   * Temperature measured
   *
   * @generated from field: optional float temperature = 1;
   */
  temperature?: number | undefined;

  /**
   *
   * Relative humidity percent measured
   *
   * @generated from field: optional float relative_humidity = 2;
   */
  relativeHumidity?: number | undefined;

  /**
   *
   * Barometric pressure in hPA measured
   *
   * @generated from field: optional float barometric_pressure = 3;
   */
  barometricPressure?: number | undefined;

  /**
   *
   * Gas resistance in MOhm measured
   *
   * @generated from field: optional float gas_resistance = 4;
   */
  gasResistance?: number | undefined;

  /**
   *
   * Voltage measured (To be depreciated in favor of PowerMetrics in Meshtastic 3.x)
   *
   * @generated from field: optional float voltage = 5;
   */
  voltage?: number | undefined;

  /**
   *
   * Current measured (To be depreciated in favor of PowerMetrics in Meshtastic 3.x)
   *
   * @generated from field: optional float current = 6;
   */
  current?: number | undefined;

  /**
   *
   * relative scale IAQ value as measured by Bosch BME680 . value 0-500.
   * Belongs to Air Quality but is not particle but VOC measurement. Other VOC values can also be put in here.
   *
   * @generated from field: optional uint32 iaq = 7;
   */
  iaq?: number | undefined;

  /**
   *
   * RCWL9620 Doppler Radar Distance Sensor, used for water level detection. Float value in mm.
   *
   * @generated from field: optional float distance = 8;
   */
  distance?: number | undefined;

  /**
   *
   * VEML7700 high accuracy ambient light(Lux) digital 16-bit resolution sensor.
   *
   * @generated from field: optional float lux = 9;
   */
  lux?: number | undefined;

  /**
   *
   * VEML7700 high accuracy white light(irradiance) not calibrated digital 16-bit resolution sensor.
   *
   * @generated from field: optional float white_lux = 10;
   */
  whiteLux?: number | undefined;

  /**
   *
   * Infrared lux
   *
   * @generated from field: optional float ir_lux = 11;
   */
  irLux?: number | undefined;

  /**
   *
   * Ultraviolet lux
   *
   * @generated from field: optional float uv_lux = 12;
   */
  uvLux?: number | undefined;

  /**
   *
   * Wind direction in degrees
   * 0 degrees = North, 90 = East, etc...
   *
   * @generated from field: optional uint32 wind_direction = 13;
   */
  windDirection?: number | undefined;

  /**
   *
   * Wind speed in m/s
   *
   * @generated from field: optional float wind_speed = 14;
   */
  windSpeed?: number | undefined;

  /**
   *
   * Weight in KG
   *
   * @generated from field: optional float weight = 15;
   */
  weight?: number | undefined;

  /**
   *
   * Wind gust in m/s
   *
   * @generated from field: optional float wind_gust = 16;
   */
  windGust?: number | undefined;

  /**
   *
   * Wind lull in m/s
   *
   * @generated from field: optional float wind_lull = 17;
   */
  windLull?: number | undefined;

  /**
   *
   * Radiation in µR/h
   *
   * @generated from field: optional float radiation = 18;
   */
  radiation?: number | undefined;

  /**
   *
   * Rainfall in the last hour in mm
   *
   * @generated from field: optional float rainfall_1h = 19;
   */
  rainfall1h?: number | undefined;

  /**
   *
   * Rainfall in the last 24 hours in mm
   *
   * @generated from field: optional float rainfall_24h = 20;
   */
  rainfall24h?: number | undefined;

  /**
   *
   * Soil moisture measured (% 1-100)
   *
   * @generated from field: optional uint32 soil_moisture = 21;
   */
  soilMoisture?: number | undefined;

  /**
   *
   * Soil temperature measured (*C)
   *
   * @generated from field: optional float soil_temperature = 22;
   */
  soilTemperature?: number | undefined;

  /**
   *
   * One-wire temperature (*C)
   *
   * @generated from field: repeated float one_wire_temperature = 23;
   */
  oneWireTemperature: number[];
};

/**
 * Describes the message meshtastic.EnvironmentMetrics.
 * Use `create(EnvironmentMetricsSchema)` to create a new message.
 */
export const EnvironmentMetricsSchema: GenMessage<EnvironmentMetrics> = /*@__PURE__*/
  messageDesc(file_meshtastic_telemetry, 1);

/**
 *
 * Power Metrics (voltage / current / etc)
 *
 * @generated from message meshtastic.PowerMetrics
 */
export type PowerMetrics = Message<"meshtastic.PowerMetrics"> & {
  /**
   *
   * Voltage (Ch1)
   *
   * @generated from field: optional float ch1_voltage = 1;
   */
  ch1Voltage?: number | undefined;

  /**
   *
   * Current (Ch1)
   *
   * @generated from field: optional float ch1_current = 2;
   */
  ch1Current?: number | undefined;

  /**
   *
   * Voltage (Ch2)
   *
   * @generated from field: optional float ch2_voltage = 3;
   */
  ch2Voltage?: number | undefined;

  /**
   *
   * Current (Ch2)
   *
   * @generated from field: optional float ch2_current = 4;
   */
  ch2Current?: number | undefined;

  /**
   *
   * Voltage (Ch3)
   *
   * @generated from field: optional float ch3_voltage = 5;
   */
  ch3Voltage?: number | undefined;

  /**
   *
   * Current (Ch3)
   *
   * @generated from field: optional float ch3_current = 6;
   */
  ch3Current?: number | undefined;

  /**
   *
   * Voltage (Ch4)
   *
   * @generated from field: optional float ch4_voltage = 7;
   */
  ch4Voltage?: number | undefined;

  /**
   *
   * Current (Ch4)
   *
   * @generated from field: optional float ch4_current = 8;
   */
  ch4Current?: number | undefined;

  /**
   *
   * Voltage (Ch5)
   *
   * @generated from field: optional float ch5_voltage = 9;
   */
  ch5Voltage?: number | undefined;

  /**
   *
   * Current (Ch5)
   *
   * @generated from field: optional float ch5_current = 10;
   */
  ch5Current?: number | undefined;

  /**
   *
   * Voltage (Ch6)
   *
   * @generated from field: optional float ch6_voltage = 11;
   */
  ch6Voltage?: number | undefined;

  /**
   *
   * Current (Ch6)
   *
   * @generated from field: optional float ch6_current = 12;
   */
  ch6Current?: number | undefined;

  /**
   *
   * Voltage (Ch7)
   *
   * @generated from field: optional float ch7_voltage = 13;
   */
  ch7Voltage?: number | undefined;

  /**
   *
   * Current (Ch7)
   *
   * @generated from field: optional float ch7_current = 14;
   */
  ch7Current?: number | undefined;

  /**
   *
   * Voltage (Ch8)
   *
   * @generated from field: optional float ch8_voltage = 15;
   */
  ch8Voltage?: number | undefined;

  /**
   *
   * Current (Ch8)
   *
   * @generated from field: optional float ch8_current = 16;
   */
  ch8Current?: number | undefined;
};

/**
 * Describes the message meshtastic.PowerMetrics.
 * Use `create(PowerMetricsSchema)` to create a new message.
 */
export const PowerMetricsSchema: GenMessage<PowerMetrics> = /*@__PURE__*/
  messageDesc(file_meshtastic_telemetry, 2);

/**
 *
 * Air quality metrics
 *
 * @generated from message meshtastic.AirQualityMetrics
 */
export type AirQualityMetrics = Message<"meshtastic.AirQualityMetrics"> & {
  /**
   *
   * Concentration Units Standard PM1.0 in ug/m3
   *
   * @generated from field: optional uint32 pm10_standard = 1;
   */
  pm10Standard?: number | undefined;

  /**
   *
   * Concentration Units Standard PM2.5 in ug/m3
   *
   * @generated from field: optional uint32 pm25_standard = 2;
   */
  pm25Standard?: number | undefined;

  /**
   *
   * Concentration Units Standard PM10.0 in ug/m3
   *
   * @generated from field: optional uint32 pm100_standard = 3;
   */
  pm100Standard?: number | undefined;

  /**
   *
   * Concentration Units Environmental PM1.0 in ug/m3
   *
   * @generated from field: optional uint32 pm10_environmental = 4;
   */
  pm10Environmental?: number | undefined;

  /**
   *
   * Concentration Units Environmental PM2.5 in ug/m3
   *
   * @generated from field: optional uint32 pm25_environmental = 5;
   */
  pm25Environmental?: number | undefined;

  /**
   *
   * Concentration Units Environmental PM10.0 in ug/m3
   *
   * @generated from field: optional uint32 pm100_environmental = 6;
   */
  pm100Environmental?: number | undefined;

  /**
   *
   * 0.3um Particle Count in #/0.1l
   *
   * @generated from field: optional uint32 particles_03um = 7;
   */
  particles03um?: number | undefined;

  /**
   *
   * 0.5um Particle Count in #/0.1l
   *
   * @generated from field: optional uint32 particles_05um = 8;
   */
  particles05um?: number | undefined;

  /**
   *
   * 1.0um Particle Count in #/0.1l
   *
   * @generated from field: optional uint32 particles_10um = 9;
   */
  particles10um?: number | undefined;

  /**
   *
   * 2.5um Particle Count in #/0.1l
   *
   * @generated from field: optional uint32 particles_25um = 10;
   */
  particles25um?: number | undefined;

  /**
   *
   * 5.0um Particle Count in #/0.1l
   *
   * @generated from field: optional uint32 particles_50um = 11;
   */
  particles50um?: number | undefined;

  /**
   *
   * 10.0um Particle Count in #/0.1l
   *
   * @generated from field: optional uint32 particles_100um = 12;
   */
  particles100um?: number | undefined;

  /**
   *
   * CO2 concentration in ppm
   *
   * @generated from field: optional uint32 co2 = 13;
   */
  co2?: number | undefined;

  /**
   *
   * CO2 sensor temperature in degC
   *
   * @generated from field: optional float co2_temperature = 14;
   */
  co2Temperature?: number | undefined;

  /**
   *
   * CO2 sensor relative humidity in %
   *
   * @generated from field: optional float co2_humidity = 15;
   */
  co2Humidity?: number | undefined;

  /**
   *
   * Formaldehyde sensor formaldehyde concentration in ppb
   *
   * @generated from field: optional float form_formaldehyde = 16;
   */
  formFormaldehyde?: number | undefined;

  /**
   *
   * Formaldehyde sensor relative humidity in %RH
   *
   * @generated from field: optional float form_humidity = 17;
   */
  formHumidity?: number | undefined;

  /**
   *
   * Formaldehyde sensor temperature in degrees Celsius
   *
   * @generated from field: optional float form_temperature = 18;
   */
  formTemperature?: number | undefined;

  /**
   *
   * Concentration Units Standard PM4.0 in ug/m3
   *
   * @generated from field: optional uint32 pm40_standard = 19;
   */
  pm40Standard?: number | undefined;

  /**
   *
   * 4.0um Particle Count in #/0.1l
   *
   * @generated from field: optional uint32 particles_40um = 20;
   */
  particles40um?: number | undefined;

  /**
   *
   * PM Sensor Temperature
   *
   * @generated from field: optional float pm_temperature = 21;
   */
  pmTemperature?: number | undefined;

  /**
   *
   * PM Sensor humidity
   *
   * @generated from field: optional float pm_humidity = 22;
   */
  pmHumidity?: number | undefined;

  /**
   *
   * PM Sensor VOC Index
   *
   * @generated from field: optional float pm_voc_idx = 23;
   */
  pmVocIdx?: number | undefined;

  /**
   *
   * PM Sensor NOx Index
   *
   * @generated from field: optional float pm_nox_idx = 24;
   */
  pmNoxIdx?: number | undefined;

  /**
   *
   * Typical Particle Size in um
   *
   * @generated from field: optional float particles_tps = 25;
   */
  particlesTps?: number | undefined;
};

/**
 * Describes the message meshtastic.AirQualityMetrics.
 * Use `create(AirQualityMetricsSchema)` to create a new message.
 */
export const AirQualityMetricsSchema: GenMessage<AirQualityMetrics> = /*@__PURE__*/
  messageDesc(file_meshtastic_telemetry, 3);

/**
 *
 * Local device mesh statistics
 *
 * @generated from message meshtastic.LocalStats
 */
export type LocalStats = Message<"meshtastic.LocalStats"> & {
  /**
   *
   * How long the device has been running since the last reboot (in seconds)
   *
   * @generated from field: uint32 uptime_seconds = 1;
   */
  uptimeSeconds: number;

  /**
   *
   * Utilization for the current channel, including well formed TX, RX and malformed RX (aka noise).
   *
   * @generated from field: float channel_utilization = 2;
   */
  channelUtilization: number;

  /**
   *
   * Percent of airtime for transmission used within the last hour.
   *
   * @generated from field: float air_util_tx = 3;
   */
  airUtilTx: number;

  /**
   *
   * Number of packets sent
   *
   * @generated from field: uint32 num_packets_tx = 4;
   */
  numPacketsTx: number;

  /**
   *
   * Number of packets received (both good and bad)
   *
   * @generated from field: uint32 num_packets_rx = 5;
   */
  numPacketsRx: number;

  /**
   *
   * Number of packets received that are malformed or violate the protocol
   *
   * @generated from field: uint32 num_packets_rx_bad = 6;
   */
  numPacketsRxBad: number;

  /**
   *
   * Number of nodes online (in the past 2 hours)
   *
   * @generated from field: uint32 num_online_nodes = 7;
   */
  numOnlineNodes: number;

  /**
   *
   * Number of nodes total
   *
   * @generated from field: uint32 num_total_nodes = 8;
   */
  numTotalNodes: number;

  /**
   *
   * Number of received packets that were duplicates (due to multiple nodes relaying).
   * If this number is high, there are nodes in the mesh relaying packets when it's unnecessary, for example due to the ROUTER/REPEATER role.
   *
   * @generated from field: uint32 num_rx_dupe = 9;
   */
  numRxDupe: number;

  /**
   *
   * Number of packets we transmitted that were a relay for others (not originating from ourselves).
   *
   * @generated from field: uint32 num_tx_relay = 10;
   */
  numTxRelay: number;

  /**
   *
   * Number of times we canceled a packet to be relayed, because someone else did it before us.
   * This will always be zero for ROUTERs/REPEATERs. If this number is high, some other node(s) is/are relaying faster than you.
   *
   * @generated from field: uint32 num_tx_relay_canceled = 11;
   */
  numTxRelayCanceled: number;

  /**
   *
   * Number of bytes used in the heap
   *
   * @generated from field: uint32 heap_total_bytes = 12;
   */
  heapTotalBytes: number;

  /**
   *
   * Number of bytes free in the heap
   *
   * @generated from field: uint32 heap_free_bytes = 13;
   */
  heapFreeBytes: number;

  /**
   *
   * Number of packets that were dropped because the transmit queue was full.
   *
   * @generated from field: uint32 num_tx_dropped = 14;
   */
  numTxDropped: number;

  /**
   *
   * Noise floor value measured in dBm
   *
   * @generated from field: int32 noise_floor = 15;
   */
  noiseFloor: number;
};

/**
 * Describes the message meshtastic.LocalStats.
 * Use `create(LocalStatsSchema)` to create a new message.
 */
export const LocalStatsSchema: GenMessage<LocalStats> = /*@__PURE__*/
  messageDesc(file_meshtastic_telemetry, 4);

/**
 *
 * Traffic management statistics for mesh network optimization
 *
 * @generated from message meshtastic.TrafficManagementStats
 */
export type TrafficManagementStats = Message<"meshtastic.TrafficManagementStats"> & {
  /**
   *
   * Total number of packets inspected by traffic management
   *
   * @generated from field: uint32 packets_inspected = 1;
   */
  packetsInspected: number;

  /**
   *
   * Number of position packets dropped due to deduplication
   *
   * @generated from field: uint32 position_dedup_drops = 2;
   */
  positionDedupDrops: number;

  /**
   *
   * Number of NodeInfo requests answered from cache
   *
   * @generated from field: uint32 nodeinfo_cache_hits = 3;
   */
  nodeinfoCacheHits: number;

  /**
   *
   * Number of packets dropped due to rate limiting
   *
   * @generated from field: uint32 rate_limit_drops = 4;
   */
  rateLimitDrops: number;

  /**
   *
   * Number of unknown/undecryptable packets dropped
   *
   * @generated from field: uint32 unknown_packet_drops = 5;
   */
  unknownPacketDrops: number;

  /**
   *
   * Number of packets with hop_limit exhausted for local-only broadcast
   *
   * @generated from field: uint32 hop_exhausted_packets = 6;
   */
  hopExhaustedPackets: number;

  /**
   *
   * Number of times router hop preservation was applied
   *
   * @generated from field: uint32 router_hops_preserved = 7;
   */
  routerHopsPreserved: number;
};

/**
 * Describes the message meshtastic.TrafficManagementStats.
 * Use `create(TrafficManagementStatsSchema)` to create a new message.
 */
export const TrafficManagementStatsSchema: GenMessage<TrafficManagementStats> = /*@__PURE__*/
  messageDesc(file_meshtastic_telemetry, 5);

/**
 *
 * Health telemetry metrics
 *
 * @generated from message meshtastic.HealthMetrics
 */
export type HealthMetrics = Message<"meshtastic.HealthMetrics"> & {
  /**
   *
   * Heart rate (beats per minute)
   *
   * @generated from field: optional uint32 heart_bpm = 1;
   */
  heartBpm?: number | undefined;

  /**
   *
   * SpO2 (blood oxygen saturation) level
   *
   * @generated from field: optional uint32 spO2 = 2;
   */
  spO2?: number | undefined;

  /**
   *
   * Body temperature in degrees Celsius
   *
   * @generated from field: optional float temperature = 3;
   */
  temperature?: number | undefined;
};

/**
 * Describes the message meshtastic.HealthMetrics.
 * Use `create(HealthMetricsSchema)` to create a new message.
 */
export const HealthMetricsSchema: GenMessage<HealthMetrics> = /*@__PURE__*/
  messageDesc(file_meshtastic_telemetry, 6);

/**
 *
 * Linux host metrics
 *
 * @generated from message meshtastic.HostMetrics
 */
export type HostMetrics = Message<"meshtastic.HostMetrics"> & {
  /**
   *
   * Host system uptime
   *
   * @generated from field: uint32 uptime_seconds = 1;
   */
  uptimeSeconds: number;

  /**
   *
   * Host system free memory
   *
   * @generated from field: uint64 freemem_bytes = 2;
   */
  freememBytes: bigint;

  /**
   *
   * Host system disk space free for /
   *
   * @generated from field: uint64 diskfree1_bytes = 3;
   */
  diskfree1Bytes: bigint;

  /**
   *
   * Secondary system disk space free
   *
   * @generated from field: optional uint64 diskfree2_bytes = 4;
   */
  diskfree2Bytes?: bigint | undefined;

  /**
   *
   * Tertiary disk space free
   *
   * @generated from field: optional uint64 diskfree3_bytes = 5;
   */
  diskfree3Bytes?: bigint | undefined;

  /**
   *
   * Host system one minute load in 1/100ths
   *
   * @generated from field: uint32 load1 = 6;
   */
  load1: number;

  /**
   *
   * Host system five minute load  in 1/100ths
   *
   * @generated from field: uint32 load5 = 7;
   */
  load5: number;

  /**
   *
   * Host system fifteen minute load  in 1/100ths
   *
   * @generated from field: uint32 load15 = 8;
   */
  load15: number;

  /**
   *
   * Optional User-provided string for arbitrary host system information
   * that doesn't make sense as a dedicated entry.
   *
   * @generated from field: optional string user_string = 9;
   */
  userString?: string | undefined;
};

/**
 * Describes the message meshtastic.HostMetrics.
 * Use `create(HostMetricsSchema)` to create a new message.
 */
export const HostMetricsSchema: GenMessage<HostMetrics> = /*@__PURE__*/
  messageDesc(file_meshtastic_telemetry, 7);

/**
 *
 * Types of Measurements the telemetry module is equipped to handle
 *
 * @generated from message meshtastic.Telemetry
 */
export type Telemetry = Message<"meshtastic.Telemetry"> & {
  /**
   *
   * Seconds since 1970 - or 0 for unknown/unset
   *
   * @generated from field: fixed32 time = 1;
   */
  time: number;

  /**
   * @generated from oneof meshtastic.Telemetry.variant
   */
  variant: {
    /**
     *
     * Key native device metrics such as battery level
     *
     * @generated from field: meshtastic.DeviceMetrics device_metrics = 2;
     */
    value: DeviceMetrics;
    case: "deviceMetrics";
  } | {
    /**
     *
     * Weather station or other environmental metrics
     *
     * @generated from field: meshtastic.EnvironmentMetrics environment_metrics = 3;
     */
    value: EnvironmentMetrics;
    case: "environmentMetrics";
  } | {
    /**
     *
     * Air quality metrics
     *
     * @generated from field: meshtastic.AirQualityMetrics air_quality_metrics = 4;
     */
    value: AirQualityMetrics;
    case: "airQualityMetrics";
  } | {
    /**
     *
     * Power Metrics
     *
     * @generated from field: meshtastic.PowerMetrics power_metrics = 5;
     */
    value: PowerMetrics;
    case: "powerMetrics";
  } | {
    /**
     *
     * Local device mesh statistics
     *
     * @generated from field: meshtastic.LocalStats local_stats = 6;
     */
    value: LocalStats;
    case: "localStats";
  } | {
    /**
     *
     * Health telemetry metrics
     *
     * @generated from field: meshtastic.HealthMetrics health_metrics = 7;
     */
    value: HealthMetrics;
    case: "healthMetrics";
  } | {
    /**
     *
     * Linux host metrics
     *
     * @generated from field: meshtastic.HostMetrics host_metrics = 8;
     */
    value: HostMetrics;
    case: "hostMetrics";
  } | {
    /**
     *
     * Traffic management statistics
     *
     * @generated from field: meshtastic.TrafficManagementStats traffic_management_stats = 9;
     */
    value: TrafficManagementStats;
    case: "trafficManagementStats";
  } | { case: undefined; value?: undefined };
};

/**
 * Describes the message meshtastic.Telemetry.
 * Use `create(TelemetrySchema)` to create a new message.
 */
export const TelemetrySchema: GenMessage<Telemetry> = /*@__PURE__*/
  messageDesc(file_meshtastic_telemetry, 8);

/**
 *
 * NAU7802 Telemetry configuration, for saving to flash
 *
 * @generated from message meshtastic.Nau7802Config
 */
export type Nau7802Config = Message<"meshtastic.Nau7802Config"> & {
  /**
   *
   * The offset setting for the NAU7802
   *
   * @generated from field: int32 zeroOffset = 1;
   */
  zeroOffset: number;

  /**
   *
   * The calibration factor for the NAU7802
   *
   * @generated from field: float calibrationFactor = 2;
   */
  calibrationFactor: number;
};

/**
 * Describes the message meshtastic.Nau7802Config.
 * Use `create(Nau7802ConfigSchema)` to create a new message.
 */
export const Nau7802ConfigSchema: GenMessage<Nau7802Config> = /*@__PURE__*/
  messageDesc(file_meshtastic_telemetry, 9);

/**
 *
 * SEN5X State, for saving to flash
 *
 * @generated from message meshtastic.SEN5XState
 */
export type SEN5XState = Message<"meshtastic.SEN5XState"> & {
  /**
   *
   * Last cleaning time for SEN5X
   *
   * @generated from field: uint32 last_cleaning_time = 1;
   */
  lastCleaningTime: number;

  /**
   *
   * Last cleaning time for SEN5X - valid flag
   *
   * @generated from field: bool last_cleaning_valid = 2;
   */
  lastCleaningValid: boolean;

  /**
   *
   * Config flag for one-shot mode (see admin.proto)
   *
   * @generated from field: bool one_shot_mode = 3;
   */
  oneShotMode: boolean;

  /**
   *
   * Last VOC state time for SEN55
   *
   * @generated from field: optional uint32 voc_state_time = 4;
   */
  vocStateTime?: number | undefined;

  /**
   *
   * Last VOC state validity flag for SEN55
   *
   * @generated from field: optional bool voc_state_valid = 5;
   */
  vocStateValid?: boolean | undefined;

  /**
   *
   * VOC state array (8x uint8t) for SEN55
   *
   * @generated from field: optional fixed64 voc_state_array = 6;
   */
  vocStateArray?: bigint | undefined;
};

/**
 * Describes the message meshtastic.SEN5XState.
 * Use `create(SEN5XStateSchema)` to create a new message.
 */
export const SEN5XStateSchema: GenMessage<SEN5XState> = /*@__PURE__*/
  messageDesc(file_meshtastic_telemetry, 10);

/**
 *
 * Supported I2C Sensors for telemetry in Meshtastic
 *
 * @generated from enum meshtastic.TelemetrySensorType
 */
export enum TelemetrySensorType {
  /**
   *
   * No external telemetry sensor explicitly set
   *
   * @generated from enum value: SENSOR_UNSET = 0;
   */
  SENSOR_UNSET = 0,

  /**
   *
   * High accuracy temperature, pressure, humidity
   *
   * @generated from enum value: BME280 = 1;
   */
  BME280 = 1,

  /**
   *
   * High accuracy temperature, pressure, humidity, and air resistance
   *
   * @generated from enum value: BME680 = 2;
   */
  BME680 = 2,

  /**
   *
   * Very high accuracy temperature
   *
   * @generated from enum value: MCP9808 = 3;
   */
  MCP9808 = 3,

  /**
   *
   * Moderate accuracy current and voltage
   *
   * @generated from enum value: INA260 = 4;
   */
  INA260 = 4,

  /**
   *
   * Moderate accuracy current and voltage
   *
   * @generated from enum value: INA219 = 5;
   */
  INA219 = 5,

  /**
   *
   * High accuracy temperature and pressure
   *
   * @generated from enum value: BMP280 = 6;
   */
  BMP280 = 6,

  /**
   *
   * TODO - REMOVE High accuracy temperature and humidity
   *
   * @generated from enum value: SHTC3 = 7;
   */
  SHTC3 = 7,

  /**
   *
   * High accuracy pressure
   *
   * @generated from enum value: LPS22 = 8;
   */
  LPS22 = 8,

  /**
   *
   * 3-Axis magnetic sensor
   *
   * @generated from enum value: QMC6310 = 9;
   */
  QMC6310 = 9,

  /**
   *
   * 6-Axis inertial measurement sensor
   *
   * @generated from enum value: QMI8658 = 10;
   */
  QMI8658 = 10,

  /**
   *
   * 3-Axis magnetic sensor
   *
   * @generated from enum value: QMC5883L = 11;
   */
  QMC5883L = 11,

  /**
   *
   * TODO - REMOVE High accuracy temperature and humidity
   *
   * @generated from enum value: SHT31 = 12;
   */
  SHT31 = 12,

  /**
   *
   * PM2.5 air quality sensor
   *
   * @generated from enum value: PMSA003I = 13;
   */
  PMSA003I = 13,

  /**
   *
   * INA3221 3 Channel Voltage / Current Sensor
   *
   * @generated from enum value: INA3221 = 14;
   */
  INA3221 = 14,

  /**
   *
   * BMP085/BMP180 High accuracy temperature and pressure (older Version of BMP280)
   *
   * @generated from enum value: BMP085 = 15;
   */
  BMP085 = 15,

  /**
   *
   * RCWL-9620 Doppler Radar Distance Sensor, used for water level detection
   *
   * @generated from enum value: RCWL9620 = 16;
   */
  RCWL9620 = 16,

  /**
   *
   * TODO - REMOVE Sensirion High accuracy temperature and humidity
   *
   * @generated from enum value: SHT4X = 17;
   */
  SHT4X = 17,

  /**
   *
   * VEML7700 high accuracy ambient light(Lux) digital 16-bit resolution sensor.
   *
   * @generated from enum value: VEML7700 = 18;
   */
  VEML7700 = 18,

  /**
   *
   * MLX90632 non-contact IR temperature sensor.
   *
   * @generated from enum value: MLX90632 = 19;
   */
  MLX90632 = 19,

  /**
   *
   * TI OPT3001 Ambient Light Sensor
   *
   * @generated from enum value: OPT3001 = 20;
   */
  OPT3001 = 20,

  /**
   *
   * Lite On LTR-390UV-01 UV Light Sensor
   *
   * @generated from enum value: LTR390UV = 21;
   */
  LTR390UV = 21,

  /**
   *
   * AMS TSL25911FN RGB Light Sensor
   *
   * @generated from enum value: TSL25911FN = 22;
   */
  TSL25911FN = 22,

  /**
   *
   * AHT10 Integrated temperature and humidity sensor
   *
   * @generated from enum value: AHT10 = 23;
   */
  AHT10 = 23,

  /**
   *
   * DFRobot Lark Weather station (temperature, humidity, pressure, wind speed and direction)
   *
   * @generated from enum value: DFROBOT_LARK = 24;
   */
  DFROBOT_LARK = 24,

  /**
   *
   * NAU7802 Scale Chip or compatible
   *
   * @generated from enum value: NAU7802 = 25;
   */
  NAU7802 = 25,

  /**
   *
   * BMP3XX High accuracy temperature and pressure
   *
   * @generated from enum value: BMP3XX = 26;
   */
  BMP3XX = 26,

  /**
   *
   * ICM-20948 9-Axis digital motion processor
   *
   * @generated from enum value: ICM20948 = 27;
   */
  ICM20948 = 27,

  /**
   *
   * MAX17048 1S lipo battery sensor (voltage, state of charge, time to go)
   *
   * @generated from enum value: MAX17048 = 28;
   */
  MAX17048 = 28,

  /**
   *
   * Custom I2C sensor implementation based on https://github.com/meshtastic/i2c-sensor
   *
   * @generated from enum value: CUSTOM_SENSOR = 29;
   */
  CUSTOM_SENSOR = 29,

  /**
   *
   * MAX30102 Pulse Oximeter and Heart-Rate Sensor
   *
   * @generated from enum value: MAX30102 = 30;
   */
  MAX30102 = 30,

  /**
   *
   * MLX90614 non-contact IR temperature sensor
   *
   * @generated from enum value: MLX90614 = 31;
   */
  MLX90614 = 31,

  /**
   *
   * SCD40/SCD41 CO2, humidity, temperature sensor
   *
   * @generated from enum value: SCD4X = 32;
   */
  SCD4X = 32,

  /**
   *
   * ClimateGuard RadSens, radiation, Geiger-Muller Tube
   *
   * @generated from enum value: RADSENS = 33;
   */
  RADSENS = 33,

  /**
   *
   * High accuracy current and voltage
   *
   * @generated from enum value: INA226 = 34;
   */
  INA226 = 34,

  /**
   *
   * DFRobot Gravity tipping bucket rain gauge
   *
   * @generated from enum value: DFROBOT_RAIN = 35;
   */
  DFROBOT_RAIN = 35,

  /**
   *
   * Infineon DPS310 High accuracy pressure and temperature
   *
   * @generated from enum value: DPS310 = 36;
   */
  DPS310 = 36,

  /**
   *
   * RAKWireless RAK12035 Soil Moisture Sensor Module
   *
   * @generated from enum value: RAK12035 = 37;
   */
  RAK12035 = 37,

  /**
   *
   * MAX17261 lipo battery gauge
   *
   * @generated from enum value: MAX17261 = 38;
   */
  MAX17261 = 38,

  /**
   *
   * PCT2075 Temperature Sensor
   *
   * @generated from enum value: PCT2075 = 39;
   */
  PCT2075 = 39,

  /**
   *
   * ADS1X15 ADC
   *
   * @generated from enum value: ADS1X15 = 40;
   */
  ADS1X15 = 40,

  /**
   *
   * ADS1X15 ADC_ALT
   *
   * @generated from enum value: ADS1X15_ALT = 41;
   */
  ADS1X15_ALT = 41,

  /**
   *
   * Sensirion SFA30 Formaldehyde sensor
   *
   * @generated from enum value: SFA30 = 42;
   */
  SFA30 = 42,

  /**
   *
   * SEN5X PM SENSORS
   *
   * @generated from enum value: SEN5X = 43;
   */
  SEN5X = 43,

  /**
   *
   * TSL2561 light sensor
   *
   * @generated from enum value: TSL2561 = 44;
   */
  TSL2561 = 44,

  /**
   *
   * BH1750 light sensor
   *
   * @generated from enum value: BH1750 = 45;
   */
  BH1750 = 45,

  /**
   *
   * HDC1080 Temperature and Humidity Sensor
   *
   * @generated from enum value: HDC1080 = 46;
   */
  HDC1080 = 46,

  /**
   *
   * TODO - REMOVE STH21 Temperature and R. Humidity sensor
   *
   * @generated from enum value: SHT21 = 47;
   */
  SHT21 = 47,

  /**
   *
   * Sensirion STC31 CO2 sensor
   *
   * @generated from enum value: STC31 = 48;
   */
  STC31 = 48,

  /**
   *
   * SCD30 CO2, humidity, temperature sensor
   *
   * @generated from enum value: SCD30 = 49;
   */
  SCD30 = 49,

  /**
   *
   * SHT family of sensors for temperature and humidity
   *
   * @generated from enum value: SHTXX = 50;
   */
  SHTXX = 50,

  /**
   *
   * DS248X Bridge for one-wire temperature sensors
   *
   * @generated from enum value: DS248X = 51;
   */
  DS248X = 51,

  /**
   *
   * MMC5983MA 3-Axis Digital Magnetic Sensor
   *
   * @generated from enum value: MMC5983MA = 52;
   */
  MMC5983MA = 52,

  /**
   *
   * ICM-42607-P 6‑Axis IMU
   *
   * @generated from enum value: ICM42607P = 53;
   */
  ICM42607P = 53,
}

/**
 * Describes the enum meshtastic.TelemetrySensorType.
 */
export const TelemetrySensorTypeSchema: GenEnum<TelemetrySensorType> = /*@__PURE__*/
  enumDesc(file_meshtastic_telemetry, 0);

