Files
meshtastic-web/src/validation/config/position.ts
T
2024-06-11 08:45:38 -04:00

50 lines
934 B
TypeScript

import type { Message } from "@bufbuild/protobuf";
import { Protobuf } from "@meshtastic/js";
import { IsArray, IsBoolean, IsEnum, IsInt } from "class-validator";
export class PositionValidation
implements Omit<Protobuf.Config.Config_PositionConfig, keyof Message>
{
@IsBoolean()
gpsEnabled: boolean;
@IsInt()
gpsAttemptTime: number;
@IsInt()
positionBroadcastSecs: number;
@IsBoolean()
positionBroadcastSmartEnabled: boolean;
@IsBoolean()
fixedPosition: boolean;
@IsInt()
gpsUpdateInterval: number;
@IsInt()
positionFlags: number;
@IsInt()
rxGpio: number;
@IsInt()
txGpio: number;
@IsInt()
broadcastSmartMinimumDistance: number;
@IsInt()
broadcastSmartMinimumIntervalSecs: number;
@IsInt()
gpsEnGpio: number;
@IsEnum(Protobuf.Config.Config_PositionConfig_GpsMode)
gpsMode: Protobuf.Config.Config_PositionConfig_GpsMode;
@IsArray()
channelPrecision: number[];
}