trackswap 0.0.25 → 0.0.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,37 @@
1
+ import { CoursePoint as CoursePointType } from "./types/course_point.js";
2
+ import { MesgNum } from "./types/mesg_num.js";
3
+ import { Sport, SubSport } from "./types/message_index_type.js";
4
+ export interface CourseRecordPoint {
5
+ timestamp: Date | number;
6
+ latitude: number;
7
+ longitude: number;
8
+ distance?: number;
9
+ altitude?: number;
10
+ speed?: number;
11
+ }
12
+ export interface CourseCuePoint {
13
+ timestamp: Date | number;
14
+ latitude: number;
15
+ longitude: number;
16
+ type?: CoursePointType;
17
+ name?: string;
18
+ distance?: number;
19
+ favorite?: boolean;
20
+ }
21
+ export interface CoursePlan {
22
+ name: string;
23
+ sport?: Sport;
24
+ subSport?: SubSport;
25
+ records: CourseRecordPoint[];
26
+ coursePoints?: CourseCuePoint[];
27
+ manufacturer?: string | number;
28
+ product?: number;
29
+ serialNumber?: number;
30
+ timeCreated?: Date | number;
31
+ }
32
+ export interface FitMesg {
33
+ mesgNum: MesgNum;
34
+ data: Record<string, unknown>;
35
+ }
36
+ export declare function buildCourseMesgs(plan: CoursePlan): FitMesg[];
37
+ export declare function encodeCourse(plan: CoursePlan): Uint8Array;
@@ -0,0 +1,41 @@
1
+ import { MesgNum } from "./types/mesg_num.js";
2
+ import { Intensity, Sport, SubSport } from "./types/message_index_type.js";
3
+ export type WorkoutDuration = {
4
+ kind: "time";
5
+ seconds: number;
6
+ } | {
7
+ kind: "distance";
8
+ meters: number;
9
+ } | {
10
+ kind: "calories";
11
+ kcal: number;
12
+ } | {
13
+ kind: "open";
14
+ };
15
+ export type WorkoutTarget = {
16
+ kind: "open";
17
+ };
18
+ export interface WorkoutStep {
19
+ name?: string;
20
+ intensity?: Intensity;
21
+ duration: WorkoutDuration;
22
+ target?: WorkoutTarget;
23
+ }
24
+ export interface WorkoutPlan {
25
+ name: string;
26
+ description?: string;
27
+ sport: Sport;
28
+ subSport?: SubSport;
29
+ steps: WorkoutStep[];
30
+ manufacturer?: string | number;
31
+ product?: number;
32
+ serialNumber?: number;
33
+ messageIndex?: number;
34
+ timeCreated?: Date | number;
35
+ }
36
+ export interface FitMesg {
37
+ mesgNum: MesgNum;
38
+ data: Record<string, unknown>;
39
+ }
40
+ export declare function buildWorkoutMesgs(plan: WorkoutPlan): FitMesg[];
41
+ export declare function encodeWorkout(plan: WorkoutPlan): Uint8Array;
@@ -3,6 +3,7 @@ export { FITEncoder } from "./encoder.js";
3
3
  export { IFITMessageConverter, IFITStructurePlugin, IFITMiddlewarePlugin, BaseFITMessageConverter, BaseFITStructurePlugin, BaseFITMiddleware, } from "./base.js";
4
4
  export { SessionStructurePlugin, CourseStructurePlugin, FileHeaderPlugin, } from "./plugins.js";
5
5
  export * from "./types.js";
6
+ export { encodeCourse, buildCourseMesgs, type CoursePlan, type CourseRecordPoint, type CourseCuePoint, type FitMesg as CourseFitMesg, } from "./encoderCourse.js";
6
7
  import { FITDecoder } from "./decoder.js";
7
8
  import { FITEncoder } from "./encoder.js";
8
9
  declare const _default: {
@@ -0,0 +1,4 @@
1
+ export declare enum ChecksumType {
2
+ CLEAR = 0,
3
+ OK = 1
4
+ }
@@ -0,0 +1,3 @@
1
+ export declare enum DateTimeType {
2
+ MIN = 268435456
3
+ }
@@ -0,0 +1,5 @@
1
+ export declare enum FileFlagsType {
2
+ READ = 2,
3
+ WRITE = 4,
4
+ ERASE = 8
5
+ }
@@ -0,0 +1,3 @@
1
+ export declare enum LocalDateTimeType {
2
+ MIN = 268435456
3
+ }
@@ -0,0 +1,5 @@
1
+ export declare enum MesgCountType {
2
+ NUMPERFILE = 0,
3
+ MAXPERFILE = 1,
4
+ MAXPERFILETYPE = 2
5
+ }
@@ -1,66 +1,54 @@
1
1
  export declare enum MesgNum {
2
2
  FILE_ID = 0,
3
+ FILE_CREATOR = 49,
4
+ TIMESTAMP_CORRELATION = 162,
5
+ SOFTWARE = 35,
6
+ SLAVE_DEVICE = 106,
3
7
  CAPABILITIES = 1,
8
+ FILE_CAPABILITIES = 37,
9
+ MESG_CAPABILITIES = 38,
10
+ FIELD_CAPABILITIES = 39,
4
11
  DEVICE_SETTINGS = 2,
5
12
  USER_PROFILE = 3,
6
13
  HRM_PROFILE = 4,
7
14
  SDM_PROFILE = 5,
8
15
  BIKE_PROFILE = 6,
16
+ CONNECTIVITY = 127,
17
+ WATCHFACE_SETTINGS = 159,
18
+ OHR_SETTINGS = 188,
19
+ TIME_IN_ZONE = 216,
9
20
  ZONES_TARGET = 7,
21
+ SPORT = 12,
10
22
  HR_ZONE = 8,
23
+ SPEED_ZONE = 53,
24
+ CADENCE_ZONE = 131,
11
25
  POWER_ZONE = 9,
12
26
  MET_ZONE = 10,
13
- SPORT = 12,
27
+ TRAINING_SETTINGS = 13,
28
+ DIVE_SETTINGS = 258,
29
+ DIVE_ALARM = 262,
30
+ DIVE_APNEA_ALARM = 393,
31
+ DIVE_GAS = 259,
14
32
  GOAL = 15,
33
+ ACTIVITY = 34,
15
34
  SESSION = 18,
16
35
  LAP = 19,
36
+ LENGTH = 101,
17
37
  RECORD = 20,
18
38
  EVENT = 21,
19
39
  DEVICE_INFO = 23,
20
- WORKOUT = 26,
21
- WORKOUT_STEP = 27,
22
- SCHEDULE = 28,
23
- WEIGHT_SCALE = 30,
24
- COURSE = 31,
25
- COURSE_POINT = 32,
26
- TOTALS = 33,
27
- ACTIVITY = 34,
28
- SOFTWARE = 35,
29
- FILE_CAPABILITIES = 37,
30
- MESG_CAPABILITIES = 38,
31
- FIELD_CAPABILITIES = 39,
32
- FILE_CREATOR = 49,
33
- BLOOD_PRESSURE = 51,
34
- SPEED_ZONE = 53,
35
- MONITORING = 55,
40
+ DEVICE_AUX_BATTERY_INFO = 375,
36
41
  TRAINING_FILE = 72,
37
- HRV = 78,
38
- ANT_RX = 80,
39
- ANT_TX = 81,
40
- ANT_CHANNEL_ID = 82,
41
- LENGTH = 101,
42
- MONITORING_INFO = 103,
43
- PAD = 105,
44
- SLAVE_DEVICE = 106,
45
- CONNECTIVITY = 127,
46
42
  WEATHER_CONDITIONS = 128,
47
43
  WEATHER_ALERT = 129,
48
- CADENCE_ZONE = 131,
49
- HR = 132,
50
- SEGMENT_LAP = 142,
51
- MEMO_GLOB = 145,
52
- SEGMENT_ID = 148,
53
- SEGMENT_LEADERBOARD_ENTRY = 149,
54
- SEGMENT_POINT = 150,
55
- SEGMENT_FILE = 151,
56
- WORKOUT_SESSION = 158,
57
- WATCHFACE_SETTINGS = 159,
58
44
  GPS_METADATA = 160,
59
45
  CAMERA_EVENT = 161,
60
- TIMESTAMP_CORRELATION = 162,
61
46
  GYROSCOPE_DATA = 164,
62
47
  ACCELEROMETER_DATA = 165,
48
+ MAGNETOMETER_DATA = 208,
49
+ BAROMETER_DATA = 209,
63
50
  THREE_D_SENSOR_CALIBRATION = 167,
51
+ ONE_D_SENSOR_CALIBRATION = 210,
64
52
  VIDEO_FRAME = 169,
65
53
  OBDII_DATA = 174,
66
54
  NMEA_SENTENCE = 177,
@@ -71,35 +59,67 @@ export declare enum MesgNum {
71
59
  VIDEO_CLIP = 187,
72
60
  SET = 225,
73
61
  JUMP = 285,
62
+ SPLIT = 312,
63
+ SPLIT_SUMMARY = 313,
74
64
  CLIMB_PRO = 317,
75
65
  FIELD_DESCRIPTION = 206,
76
66
  DEVELOPER_DATA_ID = 207,
77
- MAGNETOMETER_DATA = 208,
78
- BAROMETER_DATA = 209,
79
- ONE_D_SENSOR_CALIBRATION = 210,
80
- MONITORING_HR_DATA = 211,
81
- TIME_IN_ZONE = 216,
82
- DIVE_SETTINGS = 258,
83
- DIVE_GAS = 259,
84
- DIVE_ALARM = 262,
67
+ COURSE = 31,
68
+ COURSE_POINT = 32,
69
+ SEGMENT_ID = 148,
70
+ SEGMENT_LEADERBOARD_ENTRY = 149,
71
+ SEGMENT_POINT = 150,
72
+ SEGMENT_LAP = 142,
73
+ SEGMENT_FILE = 151,
74
+ WORKOUT = 26,
75
+ WORKOUT_SESSION = 158,
76
+ WORKOUT_STEP = 27,
85
77
  EXERCISE_TITLE = 264,
86
- DIVE_SUMMARY = 268,
87
- SPLIT = 312,
88
- SPLIT_SUMMARY = 313,
78
+ SCHEDULE = 28,
79
+ TOTALS = 33,
80
+ WEIGHT_SCALE = 30,
81
+ BLOOD_PRESSURE = 51,
82
+ MONITORING_INFO = 103,
83
+ MONITORING = 55,
84
+ MONITORING_HR_DATA = 211,
85
+ SPO2_DATA = 269,
86
+ HR = 132,
87
+ STRESS_LEVEL = 227,
88
+ MAX_MET_DATA = 229,
89
89
  HSA_BODY_BATTERY_DATA = 314,
90
90
  HSA_EVENT = 315,
91
- TANK_UPDATE = 319,
92
- TANK_SUMMARY = 323,
93
- SLEEP_ASSESSMENT = 346,
91
+ HSA_ACCELEROMETER_DATA = 302,
92
+ HSA_GYROSCOPE_DATA = 376,
93
+ HSA_STEP_DATA = 304,
94
+ HSA_SPO2_DATA = 305,
95
+ HSA_STRESS_DATA = 306,
96
+ HSA_RESPIRATION_DATA = 307,
97
+ HSA_HEART_RATE_DATA = 308,
98
+ HSA_CONFIGURATION_DATA = 389,
99
+ HSA_WRIST_TEMPERATURE_DATA = 409,
100
+ MEMO_GLOB = 145,
101
+ SLEEP_LEVEL = 275,
102
+ ANT_CHANNEL_ID = 82,
103
+ ANT_RX = 80,
104
+ ANT_TX = 81,
105
+ EXD_SCREEN_CONFIGURATION = 200,
106
+ EXD_DATA_FIELD_CONFIGURATION = 201,
107
+ EXD_DATA_CONCEPT_CONFIGURATION = 202,
108
+ DIVE_SUMMARY = 268,
109
+ AAD_ACCEL_FEATURES = 289,
110
+ HRV = 78,
111
+ BEAT_INTERVALS = 290,
94
112
  HRV_STATUS_SUMMARY = 370,
95
113
  HRV_VALUE = 371,
96
114
  RAW_BBI = 372,
97
- DEVICE_AUX_BATTERY_INFO = 375,
98
- HSA_GYROSCOPE_DATA = 376,
115
+ RESPIRATION_RATE = 297,
99
116
  CHRONO_SHOT_SESSION = 387,
100
117
  CHRONO_SHOT_DATA = 388,
101
- HSA_CONFIGURATION_DATA = 389,
102
- DIVE_APNEA_ALARM = 393,
118
+ TANK_UPDATE = 319,
119
+ TANK_SUMMARY = 323,
120
+ SLEEP_ASSESSMENT = 346,
121
+ SLEEP_DISRUPTION_SEVERITY_PERIOD = 470,
122
+ SLEEP_DISRUPTION_OVERNIGHT_SEVERITY = 471,
103
123
  SKIN_TEMP_OVERNIGHT = 398,
104
- HSA_WRIST_TEMPERATURE_DATA = 409
124
+ PAD = 105
105
125
  }