2022-08-21 08:15:27 -07:00
|
|
|
//
|
|
|
|
|
// GpsFormats.swift
|
|
|
|
|
// Meshtastic
|
|
|
|
|
//
|
|
|
|
|
// Copyright(c) Garth Vander Houwen 8/20/22.
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
import Foundation
|
2024-06-07 22:09:20 -05:00
|
|
|
import MeshtasticProtobufs
|
2022-08-21 08:15:27 -07:00
|
|
|
|
2024-02-05 21:46:16 -08:00
|
|
|
enum GpsUpdateIntervals: Int, CaseIterable, Identifiable {
|
|
|
|
|
|
|
|
|
|
case thirtySeconds = 30
|
|
|
|
|
case oneMinute = 60
|
2024-03-27 16:06:24 -07:00
|
|
|
case twoMinutes = 120
|
2024-02-05 21:46:16 -08:00
|
|
|
case fiveMinutes = 300
|
|
|
|
|
case tenMinutes = 600
|
|
|
|
|
case fifteenMinutes = 900
|
|
|
|
|
case thirtyMinutes = 1800
|
|
|
|
|
case oneHour = 3600
|
|
|
|
|
case sixHours = 21600
|
|
|
|
|
case twelveHours = 43200
|
|
|
|
|
case twentyFourHours = 86400
|
|
|
|
|
case maxInt32 = 2147483647
|
|
|
|
|
|
|
|
|
|
var id: Int { self.rawValue }
|
|
|
|
|
var description: String {
|
|
|
|
|
switch self {
|
|
|
|
|
case .thirtySeconds:
|
2025-05-07 23:09:50 -07:00
|
|
|
return "Thirty Seconds".localized
|
2024-02-05 21:46:16 -08:00
|
|
|
case .oneMinute:
|
2025-05-07 23:09:50 -07:00
|
|
|
return "One Minute".localized
|
2024-03-27 16:06:24 -07:00
|
|
|
case .twoMinutes:
|
2025-05-07 23:09:50 -07:00
|
|
|
return "Two Minutes".localized
|
2024-02-05 21:46:16 -08:00
|
|
|
case .fiveMinutes:
|
2025-05-07 23:09:50 -07:00
|
|
|
return "Five Minutes".localized
|
2024-02-05 21:46:16 -08:00
|
|
|
case .tenMinutes:
|
2025-05-07 23:09:50 -07:00
|
|
|
return "Ten Minutes".localized
|
2024-02-05 21:46:16 -08:00
|
|
|
case .fifteenMinutes:
|
2025-05-07 23:09:50 -07:00
|
|
|
return "Fifteen Minutes".localized
|
2024-02-05 21:46:16 -08:00
|
|
|
case .thirtyMinutes:
|
2025-05-07 23:09:50 -07:00
|
|
|
return "Thirty Minutes".localized
|
2024-02-05 21:46:16 -08:00
|
|
|
case .oneHour:
|
2025-05-07 23:09:50 -07:00
|
|
|
return "One Hour".localized
|
2024-02-05 21:46:16 -08:00
|
|
|
case .sixHours:
|
2025-05-07 23:09:50 -07:00
|
|
|
return "Six Hours".localized
|
2024-02-05 21:46:16 -08:00
|
|
|
case .twelveHours:
|
2025-05-07 23:09:50 -07:00
|
|
|
return "Twelve Hours".localized
|
2024-02-05 21:46:16 -08:00
|
|
|
case .twentyFourHours:
|
2025-05-07 23:09:50 -07:00
|
|
|
return "Twenty Four Hours".localized
|
2024-02-05 21:46:16 -08:00
|
|
|
case .maxInt32:
|
2025-05-07 23:09:50 -07:00
|
|
|
return "On Boot Only".localized
|
2024-02-05 21:46:16 -08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
enum GpsMode: Int, CaseIterable, Equatable {
|
|
|
|
|
case enabled = 1
|
2024-05-04 16:03:38 -07:00
|
|
|
case disabled = 0
|
2024-02-05 21:46:16 -08:00
|
|
|
case notPresent = 2
|
2024-05-29 16:40:07 -05:00
|
|
|
|
2024-02-05 21:46:16 -08:00
|
|
|
var id: Int { self.rawValue }
|
2024-05-29 16:40:07 -05:00
|
|
|
|
2024-02-05 21:46:16 -08:00
|
|
|
var description: String {
|
|
|
|
|
switch self {
|
|
|
|
|
case .disabled:
|
2025-04-27 09:32:59 -07:00
|
|
|
return "Disabled".localized
|
2024-02-05 21:46:16 -08:00
|
|
|
case .enabled:
|
2025-04-27 15:15:39 -07:00
|
|
|
return "Enabled".localized
|
2024-02-05 21:46:16 -08:00
|
|
|
case .notPresent:
|
2025-04-27 09:57:49 -07:00
|
|
|
return "Not Present".localized
|
2024-02-05 21:46:16 -08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
func protoEnumValue() -> Config.PositionConfig.GpsMode {
|
|
|
|
|
|
|
|
|
|
switch self {
|
|
|
|
|
|
|
|
|
|
case .enabled:
|
|
|
|
|
return Config.PositionConfig.GpsMode.enabled
|
|
|
|
|
case .disabled:
|
|
|
|
|
return Config.PositionConfig.GpsMode.disabled
|
|
|
|
|
case .notPresent:
|
|
|
|
|
return Config.PositionConfig.GpsMode.notPresent
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|