1#[derive(Clone, PartialEq, ::prost::Message)]
2pub struct PbRangeOptions {
3 #[prost(int32, optional, tag="1")]
4 pub min_value: ::std::option::Option<i32>,
5 #[prost(int32, optional, tag="2")]
6 pub max_value: ::std::option::Option<i32>,
7}
8#[derive(Clone, PartialEq, ::prost::Message)]
9pub struct PbDate {
10 #[prost(uint32, required, tag="1")]
11 pub year: u32,
12 #[prost(uint32, required, tag="2")]
13 pub month: u32,
14 #[prost(uint32, required, tag="3")]
15 pub day: u32,
16}
17#[derive(Clone, PartialEq, ::prost::Message)]
18pub struct PbTime {
19 #[prost(uint32, required, tag="1")]
20 pub hour: u32,
21 #[prost(uint32, required, tag="2")]
22 pub minute: u32,
23 #[prost(uint32, required, tag="3")]
24 pub seconds: u32,
25 #[prost(uint32, optional, tag="4", default="0")]
26 pub millis: ::std::option::Option<u32>,
27}
28#[derive(Clone, PartialEq, ::prost::Message)]
29pub struct PbSystemDateTime {
30 #[prost(message, required, tag="1")]
31 pub date: PbDate,
32 #[prost(message, required, tag="2")]
33 pub time: PbTime,
34 #[prost(bool, required, tag="3")]
35 pub trusted: bool,
36}
37#[derive(Clone, PartialEq, ::prost::Message)]
38pub struct PbLocalDateTime {
39 #[prost(message, required, tag="1")]
40 pub date: PbDate,
41 #[prost(message, required, tag="2")]
42 pub time: PbTime,
43 #[prost(bool, required, tag="3")]
44 pub obsolete_trusted: bool,
45 #[prost(int32, optional, tag="4")]
46 pub time_zone_offset: ::std::option::Option<i32>,
47}
48#[derive(Clone, PartialEq, ::prost::Message)]
49pub struct PbDuration {
50 #[prost(uint32, optional, tag="1", default="0")]
51 pub hours: ::std::option::Option<u32>,
52 #[prost(uint32, optional, tag="2", default="0")]
53 pub minutes: ::std::option::Option<u32>,
54 #[prost(uint32, optional, tag="3", default="0")]
55 pub seconds: ::std::option::Option<u32>,
56 #[prost(uint32, optional, tag="4", default="0")]
57 pub millis: ::std::option::Option<u32>,
58}
59#[derive(Clone, PartialEq, ::prost::Message)]
60pub struct PbLocation {
61 #[prost(double, required, tag="1")]
62 pub latitude: f64,
63 #[prost(double, required, tag="2")]
64 pub longitude: f64,
65 #[prost(message, optional, tag="3")]
66 pub timestamp: ::std::option::Option<PbSystemDateTime>,
67 #[prost(enumeration="pb_location::Fix", optional, tag="4", default="None")]
68 pub fix: ::std::option::Option<i32>,
69 #[prost(uint32, optional, tag="5", default="0")]
70 pub satellites: ::std::option::Option<u32>,
71}
72pub mod pb_location {
73 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
74 #[repr(i32)]
75 pub enum Fix {
76 None = 0,
77 Fix2d = 1,
78 Fix3d = 2,
79 }
80}
81#[derive(Clone, PartialEq, ::prost::Message)]
82pub struct PbSensorOffline {
83 #[prost(uint32, required, tag="1")]
84 pub start_index: u32,
85 #[prost(uint32, required, tag="2")]
86 pub stop_index: u32,
87}
88#[derive(Clone, PartialEq, ::prost::Message)]
89pub struct PbVolume {
90 #[prost(uint32, required, tag="1")]
91 pub volume: u32,
92}
93#[derive(Clone, PartialEq, ::prost::Message)]
94pub struct PbStrideSensorCalibSettings {
95 #[prost(float, required, tag="1")]
96 pub running_factor: f32,
97 #[prost(enumeration="pb_stride_sensor_calib_settings::PbStrideCalibType", required, tag="2")]
98 pub calib_type: i32,
99 #[prost(enumeration="pb_stride_sensor_calib_settings::PbRunningFactorSource", optional, tag="3", default="RunningFactorSourceDefault")]
100 pub running_factor_source: ::std::option::Option<i32>,
101}
102pub mod pb_stride_sensor_calib_settings {
103 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
104 #[repr(i32)]
105 pub enum PbStrideCalibType {
106 StrideCalibManual = 0,
107 StrideCalibAuto = 1,
108 }
109 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
110 #[repr(i32)]
111 pub enum PbRunningFactorSource {
112 RunningFactorSourceDefault = 0,
113 RunningFactorSourceAutoCalibration = 1,
114 RunningFactorSourceManualCalibration = 2,
115 }
116}
117#[derive(Clone, PartialEq, ::prost::Message)]
118pub struct PbVolumeTarget {
119 #[prost(enumeration="pb_volume_target::PbVolymeTargetType", required, tag="1")]
120 pub target_type: i32,
121 #[prost(message, optional, tag="2")]
122 pub duration: ::std::option::Option<PbDuration>,
123 #[prost(float, optional, tag="3")]
124 pub distance: ::std::option::Option<f32>,
125 #[prost(uint32, optional, tag="4")]
126 pub calories: ::std::option::Option<u32>,
127}
128pub mod pb_volume_target {
129 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
130 #[repr(i32)]
131 pub enum PbVolymeTargetType {
132 VolumeTargetTypeDuration = 0,
133 VolumeTargetTypeDistance = 1,
134 VolumeTargetTypeCalories = 2,
135 }
136}
137#[derive(Clone, PartialEq, ::prost::Message)]
138pub struct PbTrainingLoad {
139 #[prost(uint32, optional, tag="1")]
140 pub training_load_val: ::std::option::Option<u32>,
141 #[prost(message, optional, tag="2")]
142 pub recovery_time: ::std::option::Option<PbDuration>,
143 #[prost(uint32, optional, tag="3")]
144 pub carbohydrate_consumption: ::std::option::Option<u32>,
145 #[prost(uint32, optional, tag="4")]
146 pub protein_consumption: ::std::option::Option<u32>,
147 #[prost(uint32, optional, tag="5")]
148 pub fat_consumption: ::std::option::Option<u32>,
149}
150#[derive(Clone, PartialEq, ::prost::Message)]
151pub struct PbHeartRateZone {
152 #[prost(uint32, required, tag="1")]
153 pub lower_limit: u32,
154 #[prost(uint32, required, tag="2")]
155 pub higher_limit: u32,
156}
157#[derive(Clone, PartialEq, ::prost::Message)]
158pub struct PbSpeedZone {
159 #[prost(float, required, tag="1")]
160 pub lower_limit: f32,
161 #[prost(float, required, tag="2")]
162 pub higher_limit: f32,
163}
164#[derive(Clone, PartialEq, ::prost::Message)]
165pub struct PbPowerZone {
166 #[prost(uint32, required, tag="1")]
167 pub lower_limit: u32,
168 #[prost(uint32, required, tag="2")]
169 pub higher_limit: u32,
170}
171#[derive(Clone, PartialEq, ::prost::Message)]
172pub struct PbZones {
173 #[prost(message, repeated, tag="1")]
174 pub heart_rate_zone: ::std::vec::Vec<PbHeartRateZone>,
175 #[prost(message, repeated, tag="2")]
176 pub speed_zone: ::std::vec::Vec<PbSpeedZone>,
177 #[prost(message, repeated, tag="3")]
178 pub power_zone: ::std::vec::Vec<PbPowerZone>,
179 #[prost(enumeration="PbHeartRateZoneSettingSource", optional, tag="10")]
180 pub heart_rate_setting_source: ::std::option::Option<i32>,
181 #[prost(enumeration="PbPowerZoneSettingSource", optional, tag="11")]
182 pub power_setting_source: ::std::option::Option<i32>,
183 #[prost(enumeration="PbSpeedZoneSettingSource", optional, tag="12")]
184 pub speed_setting_source: ::std::option::Option<i32>,
185}
186#[derive(Clone, PartialEq, ::prost::Message)]
187pub struct PbBleMac {
188 #[prost(bytes, required, tag="1")]
189 pub mac: std::vec::Vec<u8>,
190 #[prost(enumeration="PbMacType", required, tag="2")]
191 pub r#type: i32,
192}
193#[derive(Clone, PartialEq, ::prost::Message)]
194pub struct PbBleDeviceName {
195 #[prost(string, required, tag="1")]
196 pub name: std::string::String,
197}
198#[derive(Clone, PartialEq, ::prost::Message)]
199pub struct PbDeviceId {
200 #[prost(string, required, tag="1")]
201 pub device_id: std::string::String,
202}
203#[derive(Clone, PartialEq, ::prost::Message)]
204pub struct PbRunningIndex {
205 #[prost(uint32, required, tag="1")]
206 pub value: u32,
207 #[prost(message, optional, tag="2")]
208 pub calculation_time: ::std::option::Option<PbDuration>,
209}
210#[derive(Clone, PartialEq, ::prost::Message)]
211pub struct PbSportIdentifier {
212 #[prost(uint64, required, tag="1")]
213 pub value: u64,
214}
215#[derive(Clone, PartialEq, ::prost::Message)]
216pub struct PbOneLineText {
217 #[prost(string, required, tag="1")]
218 pub text: std::string::String,
219}
220#[derive(Clone, PartialEq, ::prost::Message)]
221pub struct PbMultiLineText {
222 #[prost(string, required, tag="1")]
223 pub text: std::string::String,
224}
225#[derive(Clone, PartialEq, ::prost::Message)]
226pub struct PbLanguageId {
227 #[prost(string, required, tag="1")]
228 pub language: std::string::String,
229}
230#[derive(Clone, PartialEq, ::prost::Message)]
231pub struct PbTrainingSessionTargetId {
232 #[prost(uint64, required, tag="1")]
233 pub value: u64,
234 #[prost(message, optional, tag="2")]
235 pub last_modified: ::std::option::Option<PbSystemDateTime>,
236}
237#[derive(Clone, PartialEq, ::prost::Message)]
238pub struct PbTrainingSessionFavoriteId {
239 #[prost(uint64, required, tag="1")]
240 pub value: u64,
241 #[prost(message, optional, tag="2")]
242 pub last_modified: ::std::option::Option<PbSystemDateTime>,
243}
244#[derive(Clone, PartialEq, ::prost::Message)]
245pub struct PbRouteId {
246 #[prost(uint64, required, tag="1")]
247 pub value: u64,
248}
249#[derive(Clone, PartialEq, ::prost::Message)]
250pub struct PbSwimmingPoolInfo {
251 #[prost(float, optional, tag="1")]
252 pub pool_length: ::std::option::Option<f32>,
253 #[prost(enumeration="PbSwimmingPoolUnits", required, tag="2")]
254 pub swimming_pool_type: i32,
255}
256#[derive(Clone, PartialEq, ::prost::Message)]
257pub struct PbTrainingProgramId {
258 #[prost(uint64, required, tag="1")]
259 pub value: u64,
260}
261#[derive(Clone, PartialEq, ::prost::Message)]
262pub struct PbEventId {
263 #[prost(uint64, required, tag="1")]
264 pub value: u64,
265}
266#[derive(Clone, PartialEq, ::prost::Message)]
267pub struct PbStravaSegmentTargets {
268 #[prost(message, required, tag="1")]
269 pub own_best: PbDuration,
270 #[prost(message, required, tag="2")]
271 pub kom_qom: PbDuration,
272}
273#[derive(Clone, PartialEq, ::prost::Message)]
274pub struct PbStravaSegmentTarget {
275 #[prost(enumeration="pb_strava_segment_target::PbStravaSegmentType", required, tag="1")]
276 pub strava_segment_type: i32,
277 #[prost(message, required, tag="2")]
278 pub strava_segment_targets: PbStravaSegmentTargets,
279}
280pub mod pb_strava_segment_target {
281 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
282 #[repr(i32)]
283 pub enum PbStravaSegmentType {
284 StravaSegmentTypeRide = 1,
285 StravaSegmentTypeRun = 2,
286 }
287}
288#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
289#[repr(i32)]
290pub enum PbDataType {
291 TypeUndefined = 0,
292 TypeInherited = 1,
293 TypeEnum = 2,
294 TypeMillis = 3,
295 TypeSecond = 4,
296 TypeMinute = 5,
297 TypeHour = 6,
298 TypeHours = 7,
299 TypeDay = 8,
300 TypeMonth = 9,
301 TypeYear = 10,
302 TypeWeight = 11,
303 TypeHeight = 12,
304 TypeVo2max = 13,
305 TypeHeartrate = 20,
306 TypeHrPercent = 21,
307 TypeHrReserve = 22,
308 TypeSpeed = 23,
309 TypeCadence = 24,
310 TypeAltitude = 25,
311 TypePower = 26,
312 TypePowerLrb = 27,
313 TypePowerPi = 28,
314 TypeTemperature = 29,
315 TypeActivity = 30,
316 TypeStrideLength = 31,
317 TypeIncline = 32,
318 TypeDecline = 33,
319 TypeDistance = 52,
320 TypeEnergy = 53,
321 TypeFatPercents = 54,
322 TypeAscent = 55,
323 TypeDescent = 56,
324 TypeLatitude = 57,
325 TypeLongitude = 58,
326 TypeHertz = 59,
327 TypePercent = 60,
328 TypeCumulatedActivityDay = 61,
329 TypeRunningIndex = 62,
330 TypeRrInterval = 63,
331 TypeZIndex = 64,
332 TypeExerciseTargetIndex = 65,
333 TypeTimeZoneOffset = 66,
334 TypeWheelSize = 67,
335 TypeFitnessClass = 68,
336 TypeAcceleration = 69,
337 TypeCrankLength = 70,
338 TypeAngleDegree = 71,
339 TypeNewton = 72,
340 TypeFunctionalThresholdPower = 73,
341 TypeCalories = 74,
342 TypeSpeedCalibrationOffset = 75,
343}
344#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
345#[repr(i32)]
346pub enum PbHeartRateView {
347 HeartRateViewBpm = 1,
348 HeartRateViewPercentsOfHrReserve = 2,
349 HeartRateViewPercentsOfMaxHr = 3,
350}
351#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
352#[repr(i32)]
353pub enum PbUnitSystem {
354 Metric = 1,
355 Imperial = 2,
356}
357#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
358#[repr(i32)]
359pub enum PbTimeSelection {
360 Time1 = 1,
361 Time2 = 2,
362}
363#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
364#[repr(i32)]
365pub enum PbTimeFormat {
366 TimeFormat24h = 1,
367 TimeFormat12h = 2,
368}
369#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
370#[repr(i32)]
371pub enum PbTimeFormatSeparator {
372 TimeFormatSeparatorDot = 1,
373 TimeFormatSeparatorColon = 2,
374}
375#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
376#[repr(i32)]
377pub enum PbStartDayOfWeek {
378 Monday = 1,
379 Saturday = 2,
380 Sunday = 3,
381}
382#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
383#[repr(i32)]
384pub enum PbDateFormatSeparator {
385 Dot = 1,
386 Slash = 2,
387 Hyphen = 3,
388}
389#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
390#[repr(i32)]
391pub enum PbDateFormat {
392 DdMmYyyy = 1,
393 MmDdYyyy = 2,
394 YyyyMmDd = 3,
395}
396#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
397#[repr(i32)]
398pub enum PbFeatureType {
399 FeatureTypeHeartRate = 1,
400 FeatureTypeRrInterval = 2,
401 FeatureTypeSpeed = 3,
402 FeatureTypeDistance = 4,
403 FeatureTypeBikeCadence = 5,
404 FeatureTypeBikePower = 6,
405 FeatureTypeGpsLocation = 7,
406 FeatureTypeRunningCadence = 8,
407 FeatureTypePressTemperature = 9,
408 FeatureTypeAltitude = 10,
409 FeatureTypeSteps = 11,
410 FeatureTypeActivity = 12,
411 FeatureTypeStrideLength = 13,
412 FeatureTypeRscMovingType = 14,
413 FeatureTypeJumpHeigth = 15,
414 FeatureTypeCompassHeading = 16,
415 FeatureTypeGpsSpeed = 17,
416 FeatureTypeGpsDistance = 18,
417 FeatureTypeGpsAltitude = 19,
418 FeatureTypeBikeWheelRevolution = 20,
419 FeatureTypeBikeCrankRevolution = 21,
420 FeatureTypeAsSpeed = 22,
421 FeatureTypeAsCadence = 23,
422 FeatureTypeAsDistance = 24,
423 FeatureTypeAsSwrState = 25,
424 FeatureTypeBatteryLevel = 26,
425 FeatureTypeFileTransfer = 27,
426 FeatureTypePushNotifications = 28,
427 FeatureTypeWeightScale = 29,
428}
429#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
430#[repr(i32)]
431pub enum PbMovingType {
432 Walking = 0,
433 Running = 1,
434 Standing = 2,
435}
436#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
437#[repr(i32)]
438pub enum PbOperationType {
439 Multiply = 1,
440 Sum = 2,
441}
442#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
443#[repr(i32)]
444pub enum PbExerciseFeedback {
445 FeedbackNone = 1,
446 Feedback1 = 2,
447 Feedback2 = 3,
448 Feedback3 = 4,
449 Feedback4 = 5,
450 Feedback5 = 6,
451 Feedback6 = 7,
452 Feedback7 = 8,
453 Feedback8 = 9,
454 Feedback9 = 10,
455 Feedback10 = 11,
456 Feedback11 = 12,
457 Feedback12 = 13,
458 Feedback13 = 14,
459 Feedback14 = 15,
460 Feedback15 = 16,
461 Feedback16 = 17,
462 Feedback17 = 18,
463}
464#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
465#[repr(i32)]
466pub enum PbHeartRateZoneSettingSource {
467 HeartRateZoneSettingSourceDefault = 0,
468 HeartRateZoneSettingSourceThreshold = 1,
469 HeartRateZoneSettingSourceFree = 2,
470}
471#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
472#[repr(i32)]
473pub enum PbPowerZoneSettingSource {
474 PowerZoneSettingSourceDefault = 0,
475 PowerZoneSettingSourceFree = 1,
476}
477#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
478#[repr(i32)]
479pub enum PbSpeedZoneSettingSource {
480 SpeedZoneSettingSourceDefault = 0,
481 SpeedZoneSettingSourceFree = 1,
482}
483#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
484#[repr(i32)]
485pub enum PbMacType {
486 MacTypePublic = 0,
487 MacTypeStatic = 1,
488 MacTypePrivateNonresolvable = 2,
489 MacTypePrivateResolvable = 3,
490 MacTypeBtClassic = 4,
491}
492#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
493#[repr(i32)]
494pub enum PbSwimmingStyle {
495 Other = -1,
496 Turn = 0,
497 OtherSwimming = 10,
498 Freestyle = 11,
499 Breaststroke = 12,
500 Backstroke = 13,
501 Butterfly = 14,
502}
503#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
504#[repr(i32)]
505pub enum PbSwimmingPoolUnits {
506 SwimmingPoolMeters = 0,
507 SwimmingPoolYards = 1,
508}
509#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
510#[repr(i32)]
511pub enum PbExerciseTargetType {
512 ExerciseTargetTypeFree = 0,
513 ExerciseTargetTypeVolume = 1,
514 ExerciseTargetTypePhased = 2,
515 ExerciseTargetTypeRoute = 3,
516 ExerciseTargetTypeSteadyRacePace = 4,
517 ExerciseTargetTypeRouteRacePace = 5,
518 ExerciseTargetTypeStravaSegment = 6,
519}
520#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
521#[repr(i32)]
522pub enum PbDeviceLocation {
523 DeviceLocationUndefined = 0,
524 DeviceLocationOther = 1,
525 DeviceLocationWristLeft = 2,
526 DeviceLocationWristRight = 3,
527 DeviceLocationNecklace = 4,
528 DeviceLocationChest = 5,
529 DeviceLocationUpperBack = 6,
530 DeviceLocationFootLeft = 7,
531 DeviceLocationFootRight = 8,
532 DeviceLocationLowerArmLeft = 9,
533 DeviceLocationLowerArmRight = 10,
534 DeviceLocationUpperArmLeft = 11,
535 DeviceLocationUpperArmRight = 12,
536 DeviceLocationBikeMount = 13,
537}