rubyfit 0.0.2 → 0.0.3
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.
- checksums.yaml +7 -0
- data/ext/rubyfit/fit.c +96 -25
- data/ext/rubyfit/fit.h +127 -44
- data/ext/rubyfit/fit_config.h +7 -7
- data/ext/rubyfit/fit_convert.c +66 -13
- data/ext/rubyfit/fit_convert.h +28 -23
- data/ext/rubyfit/fit_crc.c +30 -6
- data/ext/rubyfit/fit_crc.h +12 -5
- data/ext/rubyfit/fit_example.c +899 -0
- data/ext/rubyfit/fit_example.h +3299 -0
- data/ext/rubyfit/fit_ram.c +203 -0
- data/ext/rubyfit/fit_ram.h +39 -0
- data/ext/rubyfit/rubyfit.c +25 -36
- data/lib/rubyfit/version.rb +1 -1
- metadata +14 -16
- data/ext/rubyfit/fit_product.c +0 -21
- data/ext/rubyfit/fit_product.h +0 -21
- data/ext/rubyfit/fit_sdk.c +0 -618
- data/ext/rubyfit/fit_sdk.h +0 -2083
data/ext/rubyfit/fit_product.c
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
////////////////////////////////////////////////////////////////////////////////
|
2
|
-
// The following .FIT software provided may be used with .FIT devices only and
|
3
|
-
// remains the copyrighted property of Dynastream Innovations Inc.
|
4
|
-
// The software is being provided on an "as-is" basis and as an accommodation,
|
5
|
-
// and therefore all warranties, representations, or guarantees of any kind
|
6
|
-
// (whether express, implied or statutory) including, without limitation,
|
7
|
-
// warranties of merchantability, non-infringement, or fitness for a particular
|
8
|
-
// purpose, are specifically disclaimed.
|
9
|
-
//
|
10
|
-
// Copyright 2008 Dynastream Innovations Inc.
|
11
|
-
// All rights reserved. This software may not be reproduced by any means
|
12
|
-
// without express written approval of Dynastream Innovations Inc.
|
13
|
-
////////////////////////////////////////////////////////////////////////////////
|
14
|
-
// ****WARNING**** This file is auto-generated! Do NOT edit this file.
|
15
|
-
// Profile Version = 0.62
|
16
|
-
//////////////////////////////////////////////////////////////////////////////////
|
17
|
-
|
18
|
-
|
19
|
-
#include "fit_product.h"
|
20
|
-
|
21
|
-
//#include "fit_sdk.c"
|
data/ext/rubyfit/fit_product.h
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
////////////////////////////////////////////////////////////////////////////////
|
2
|
-
// The following .FIT software provided may be used with .FIT devices only and
|
3
|
-
// remains the copyrighted property of Dynastream Innovations Inc.
|
4
|
-
// The software is being provided on an "as-is" basis and as an accommodation,
|
5
|
-
// and therefore all warranties, representations, or guarantees of any kind
|
6
|
-
// (whether express, implied or statutory) including, without limitation,
|
7
|
-
// warranties of merchantability, non-infringement, or fitness for a particular
|
8
|
-
// purpose, are specifically disclaimed.
|
9
|
-
//
|
10
|
-
// Copyright 2008 Dynastream Innovations Inc.
|
11
|
-
// All rights reserved. This software may not be reproduced by any means
|
12
|
-
// without express written approval of Dynastream Innovations Inc.
|
13
|
-
////////////////////////////////////////////////////////////////////////////////
|
14
|
-
// ****WARNING**** This file is auto-generated! Do NOT edit this file.
|
15
|
-
// Profile Version = 0.62
|
16
|
-
//////////////////////////////////////////////////////////////////////////////////
|
17
|
-
|
18
|
-
|
19
|
-
#include "fit_config.h"
|
20
|
-
|
21
|
-
#include "fit_sdk.h"
|
data/ext/rubyfit/fit_sdk.c
DELETED
@@ -1,618 +0,0 @@
|
|
1
|
-
////////////////////////////////////////////////////////////////////////////////
|
2
|
-
// The following .FIT software provided may be used with .FIT devices only and
|
3
|
-
// remains the copyrighted property of Dynastream Innovations Inc.
|
4
|
-
// The software is being provided on an "as-is" basis and as an accommodation,
|
5
|
-
// and therefore all warranties, representations, or guarantees of any kind
|
6
|
-
// (whether express, implied or statutory) including, without limitation,
|
7
|
-
// warranties of merchantability, non-infringement, or fitness for a particular
|
8
|
-
// purpose, are specifically disclaimed.
|
9
|
-
//
|
10
|
-
// Copyright 2008 Dynastream Innovations Inc.
|
11
|
-
// All rights reserved. This software may not be reproduced by any means
|
12
|
-
// without express written approval of Dynastream Innovations Inc.
|
13
|
-
////////////////////////////////////////////////////////////////////////////////
|
14
|
-
// ****WARNING**** This file is auto-generated! Do NOT edit this file.
|
15
|
-
// Profile Version = 0.62
|
16
|
-
// Product = 'SDK'
|
17
|
-
// Alignment = '4'
|
18
|
-
//////////////////////////////////////////////////////////////////////////////////
|
19
|
-
|
20
|
-
|
21
|
-
#include "string.h"
|
22
|
-
#include "fit_product.h"
|
23
|
-
|
24
|
-
|
25
|
-
///////////////////////////////////////////////////////////////////////
|
26
|
-
// Messages
|
27
|
-
///////////////////////////////////////////////////////////////////////
|
28
|
-
|
29
|
-
const static FIT_FILE_ID_MESG_DEF file_id_mesg_def =
|
30
|
-
{
|
31
|
-
0, // reserved_1
|
32
|
-
FIT_ARCH_ENDIAN, // arch
|
33
|
-
FIT_MESG_NUM_FILE_ID, // global_mesg_num
|
34
|
-
6, // num_fields
|
35
|
-
{
|
36
|
-
// Def#, size, base_type
|
37
|
-
3, (sizeof(FIT_UINT32Z)*1), FIT_BASE_TYPE_UINT32Z,
|
38
|
-
4, (sizeof(FIT_DATE_TIME)*1), FIT_BASE_TYPE_UINT32,
|
39
|
-
1, (sizeof(FIT_MANUFACTURER)*1), FIT_BASE_TYPE_UINT16,
|
40
|
-
2, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
41
|
-
5, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
42
|
-
0, (sizeof(FIT_FILE)*1), FIT_BASE_TYPE_ENUM,
|
43
|
-
}
|
44
|
-
};
|
45
|
-
|
46
|
-
const static FIT_FILE_CREATOR_MESG_DEF file_creator_mesg_def =
|
47
|
-
{
|
48
|
-
0, // reserved_1
|
49
|
-
FIT_ARCH_ENDIAN, // arch
|
50
|
-
FIT_MESG_NUM_FILE_CREATOR, // global_mesg_num
|
51
|
-
2, // num_fields
|
52
|
-
{
|
53
|
-
// Def#, size, base_type
|
54
|
-
0, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
55
|
-
1, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
56
|
-
}
|
57
|
-
};
|
58
|
-
|
59
|
-
const static FIT_SOFTWARE_MESG_DEF software_mesg_def =
|
60
|
-
{
|
61
|
-
0, // reserved_1
|
62
|
-
FIT_ARCH_ENDIAN, // arch
|
63
|
-
FIT_MESG_NUM_SOFTWARE, // global_mesg_num
|
64
|
-
3, // num_fields
|
65
|
-
{
|
66
|
-
// Def#, size, base_type
|
67
|
-
5, (sizeof(FIT_STRING)*16), FIT_BASE_TYPE_STRING,
|
68
|
-
254, (sizeof(FIT_MESSAGE_INDEX)*1), FIT_BASE_TYPE_UINT16,
|
69
|
-
3, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
70
|
-
}
|
71
|
-
};
|
72
|
-
|
73
|
-
const static FIT_CAPABILITIES_MESG_DEF capabilities_mesg_def =
|
74
|
-
{
|
75
|
-
0, // reserved_1
|
76
|
-
FIT_ARCH_ENDIAN, // arch
|
77
|
-
FIT_MESG_NUM_CAPABILITIES, // global_mesg_num
|
78
|
-
1, // num_fields
|
79
|
-
{
|
80
|
-
// Def#, size, base_type
|
81
|
-
21, (sizeof(FIT_WORKOUT_CAPABILITIES)*1), FIT_BASE_TYPE_UINT32Z,
|
82
|
-
}
|
83
|
-
};
|
84
|
-
|
85
|
-
const static FIT_FILE_CAPABILITIES_MESG_DEF file_capabilities_mesg_def =
|
86
|
-
{
|
87
|
-
0, // reserved_1
|
88
|
-
FIT_ARCH_ENDIAN, // arch
|
89
|
-
FIT_MESG_NUM_FILE_CAPABILITIES, // global_mesg_num
|
90
|
-
6, // num_fields
|
91
|
-
{
|
92
|
-
// Def#, size, base_type
|
93
|
-
2, (sizeof(FIT_STRING)*16), FIT_BASE_TYPE_STRING,
|
94
|
-
4, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32,
|
95
|
-
254, (sizeof(FIT_MESSAGE_INDEX)*1), FIT_BASE_TYPE_UINT16,
|
96
|
-
3, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
97
|
-
0, (sizeof(FIT_FILE)*1), FIT_BASE_TYPE_ENUM,
|
98
|
-
1, (sizeof(FIT_FILE_FLAGS)*1), FIT_BASE_TYPE_UINT8Z,
|
99
|
-
}
|
100
|
-
};
|
101
|
-
|
102
|
-
const static FIT_MESG_CAPABILITIES_MESG_DEF mesg_capabilities_mesg_def =
|
103
|
-
{
|
104
|
-
0, // reserved_1
|
105
|
-
FIT_ARCH_ENDIAN, // arch
|
106
|
-
FIT_MESG_NUM_MESG_CAPABILITIES, // global_mesg_num
|
107
|
-
5, // num_fields
|
108
|
-
{
|
109
|
-
// Def#, size, base_type
|
110
|
-
254, (sizeof(FIT_MESSAGE_INDEX)*1), FIT_BASE_TYPE_UINT16,
|
111
|
-
1, (sizeof(FIT_MESG_NUM)*1), FIT_BASE_TYPE_UINT16,
|
112
|
-
3, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
113
|
-
0, (sizeof(FIT_FILE)*1), FIT_BASE_TYPE_ENUM,
|
114
|
-
2, (sizeof(FIT_MESG_COUNT)*1), FIT_BASE_TYPE_ENUM,
|
115
|
-
}
|
116
|
-
};
|
117
|
-
|
118
|
-
const static FIT_FIELD_CAPABILITIES_MESG_DEF field_capabilities_mesg_def =
|
119
|
-
{
|
120
|
-
0, // reserved_1
|
121
|
-
FIT_ARCH_ENDIAN, // arch
|
122
|
-
FIT_MESG_NUM_FIELD_CAPABILITIES, // global_mesg_num
|
123
|
-
5, // num_fields
|
124
|
-
{
|
125
|
-
// Def#, size, base_type
|
126
|
-
254, (sizeof(FIT_MESSAGE_INDEX)*1), FIT_BASE_TYPE_UINT16,
|
127
|
-
1, (sizeof(FIT_MESG_NUM)*1), FIT_BASE_TYPE_UINT16,
|
128
|
-
3, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
129
|
-
0, (sizeof(FIT_FILE)*1), FIT_BASE_TYPE_ENUM,
|
130
|
-
2, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
131
|
-
}
|
132
|
-
};
|
133
|
-
|
134
|
-
const static FIT_DEVICE_SETTINGS_MESG_DEF device_settings_mesg_def =
|
135
|
-
{
|
136
|
-
0, // reserved_1
|
137
|
-
FIT_ARCH_ENDIAN, // arch
|
138
|
-
FIT_MESG_NUM_DEVICE_SETTINGS, // global_mesg_num
|
139
|
-
1, // num_fields
|
140
|
-
{
|
141
|
-
// Def#, size, base_type
|
142
|
-
1, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32,
|
143
|
-
}
|
144
|
-
};
|
145
|
-
|
146
|
-
const static FIT_USER_PROFILE_MESG_DEF user_profile_mesg_def =
|
147
|
-
{
|
148
|
-
0, // reserved_1
|
149
|
-
FIT_ARCH_ENDIAN, // arch
|
150
|
-
FIT_MESG_NUM_USER_PROFILE, // global_mesg_num
|
151
|
-
19, // num_fields
|
152
|
-
{
|
153
|
-
// Def#, size, base_type
|
154
|
-
0, (sizeof(FIT_STRING)*16), FIT_BASE_TYPE_STRING,
|
155
|
-
254, (sizeof(FIT_MESSAGE_INDEX)*1), FIT_BASE_TYPE_UINT16,
|
156
|
-
4, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
157
|
-
1, (sizeof(FIT_GENDER)*1), FIT_BASE_TYPE_ENUM,
|
158
|
-
2, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
159
|
-
3, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
160
|
-
5, (sizeof(FIT_LANGUAGE)*1), FIT_BASE_TYPE_ENUM,
|
161
|
-
6, (sizeof(FIT_DISPLAY_MEASURE)*1), FIT_BASE_TYPE_ENUM,
|
162
|
-
7, (sizeof(FIT_DISPLAY_MEASURE)*1), FIT_BASE_TYPE_ENUM,
|
163
|
-
8, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
164
|
-
9, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
165
|
-
10, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
166
|
-
11, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
167
|
-
12, (sizeof(FIT_DISPLAY_HEART)*1), FIT_BASE_TYPE_ENUM,
|
168
|
-
13, (sizeof(FIT_DISPLAY_MEASURE)*1), FIT_BASE_TYPE_ENUM,
|
169
|
-
14, (sizeof(FIT_DISPLAY_MEASURE)*1), FIT_BASE_TYPE_ENUM,
|
170
|
-
16, (sizeof(FIT_DISPLAY_POWER)*1), FIT_BASE_TYPE_ENUM,
|
171
|
-
17, (sizeof(FIT_ACTIVITY_CLASS)*1), FIT_BASE_TYPE_ENUM,
|
172
|
-
18, (sizeof(FIT_DISPLAY_POSITION)*1), FIT_BASE_TYPE_ENUM,
|
173
|
-
}
|
174
|
-
};
|
175
|
-
|
176
|
-
const static FIT_HRM_PROFILE_MESG_DEF hrm_profile_mesg_def =
|
177
|
-
{
|
178
|
-
0, // reserved_1
|
179
|
-
FIT_ARCH_ENDIAN, // arch
|
180
|
-
FIT_MESG_NUM_HRM_PROFILE, // global_mesg_num
|
181
|
-
3, // num_fields
|
182
|
-
{
|
183
|
-
// Def#, size, base_type
|
184
|
-
254, (sizeof(FIT_MESSAGE_INDEX)*1), FIT_BASE_TYPE_UINT16,
|
185
|
-
1, (sizeof(FIT_UINT16Z)*1), FIT_BASE_TYPE_UINT16Z,
|
186
|
-
0, (sizeof(FIT_BOOL)*1), FIT_BASE_TYPE_ENUM,
|
187
|
-
}
|
188
|
-
};
|
189
|
-
|
190
|
-
const static FIT_ZONES_TARGET_MESG_DEF zones_target_mesg_def =
|
191
|
-
{
|
192
|
-
0, // reserved_1
|
193
|
-
FIT_ARCH_ENDIAN, // arch
|
194
|
-
FIT_MESG_NUM_ZONES_TARGET, // global_mesg_num
|
195
|
-
5, // num_fields
|
196
|
-
{
|
197
|
-
// Def#, size, base_type
|
198
|
-
3, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
199
|
-
1, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
200
|
-
2, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
201
|
-
5, (sizeof(FIT_HR_ZONE_CALC)*1), FIT_BASE_TYPE_ENUM,
|
202
|
-
7, (sizeof(FIT_PWR_ZONE_CALC)*1), FIT_BASE_TYPE_ENUM,
|
203
|
-
}
|
204
|
-
};
|
205
|
-
|
206
|
-
const static FIT_SPORT_MESG_DEF sport_mesg_def =
|
207
|
-
{
|
208
|
-
0, // reserved_1
|
209
|
-
FIT_ARCH_ENDIAN, // arch
|
210
|
-
FIT_MESG_NUM_SPORT, // global_mesg_num
|
211
|
-
3, // num_fields
|
212
|
-
{
|
213
|
-
// Def#, size, base_type
|
214
|
-
3, (sizeof(FIT_STRING)*16), FIT_BASE_TYPE_STRING,
|
215
|
-
0, (sizeof(FIT_SPORT)*1), FIT_BASE_TYPE_ENUM,
|
216
|
-
1, (sizeof(FIT_SUB_SPORT)*1), FIT_BASE_TYPE_ENUM,
|
217
|
-
}
|
218
|
-
};
|
219
|
-
|
220
|
-
const static FIT_HR_ZONE_MESG_DEF hr_zone_mesg_def =
|
221
|
-
{
|
222
|
-
0, // reserved_1
|
223
|
-
FIT_ARCH_ENDIAN, // arch
|
224
|
-
FIT_MESG_NUM_HR_ZONE, // global_mesg_num
|
225
|
-
3, // num_fields
|
226
|
-
{
|
227
|
-
// Def#, size, base_type
|
228
|
-
254, (sizeof(FIT_MESSAGE_INDEX)*1), FIT_BASE_TYPE_UINT16,
|
229
|
-
1, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
230
|
-
2, (sizeof(FIT_STRING)*1), FIT_BASE_TYPE_STRING,
|
231
|
-
}
|
232
|
-
};
|
233
|
-
|
234
|
-
const static FIT_SPEED_ZONE_MESG_DEF speed_zone_mesg_def =
|
235
|
-
{
|
236
|
-
0, // reserved_1
|
237
|
-
FIT_ARCH_ENDIAN, // arch
|
238
|
-
FIT_MESG_NUM_SPEED_ZONE, // global_mesg_num
|
239
|
-
3, // num_fields
|
240
|
-
{
|
241
|
-
// Def#, size, base_type
|
242
|
-
254, (sizeof(FIT_MESSAGE_INDEX)*1), FIT_BASE_TYPE_UINT16,
|
243
|
-
0, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
244
|
-
1, (sizeof(FIT_STRING)*1), FIT_BASE_TYPE_STRING,
|
245
|
-
}
|
246
|
-
};
|
247
|
-
|
248
|
-
const static FIT_POWER_ZONE_MESG_DEF power_zone_mesg_def =
|
249
|
-
{
|
250
|
-
0, // reserved_1
|
251
|
-
FIT_ARCH_ENDIAN, // arch
|
252
|
-
FIT_MESG_NUM_POWER_ZONE, // global_mesg_num
|
253
|
-
3, // num_fields
|
254
|
-
{
|
255
|
-
// Def#, size, base_type
|
256
|
-
254, (sizeof(FIT_MESSAGE_INDEX)*1), FIT_BASE_TYPE_UINT16,
|
257
|
-
1, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
258
|
-
2, (sizeof(FIT_STRING)*1), FIT_BASE_TYPE_STRING,
|
259
|
-
}
|
260
|
-
};
|
261
|
-
|
262
|
-
const static FIT_MET_ZONE_MESG_DEF met_zone_mesg_def =
|
263
|
-
{
|
264
|
-
0, // reserved_1
|
265
|
-
FIT_ARCH_ENDIAN, // arch
|
266
|
-
FIT_MESG_NUM_MET_ZONE, // global_mesg_num
|
267
|
-
4, // num_fields
|
268
|
-
{
|
269
|
-
// Def#, size, base_type
|
270
|
-
254, (sizeof(FIT_MESSAGE_INDEX)*1), FIT_BASE_TYPE_UINT16,
|
271
|
-
2, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
272
|
-
1, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
273
|
-
3, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
274
|
-
}
|
275
|
-
};
|
276
|
-
|
277
|
-
const static FIT_ACTIVITY_MESG_DEF activity_mesg_def =
|
278
|
-
{
|
279
|
-
0, // reserved_1
|
280
|
-
FIT_ARCH_ENDIAN, // arch
|
281
|
-
FIT_MESG_NUM_ACTIVITY, // global_mesg_num
|
282
|
-
8, // num_fields
|
283
|
-
{
|
284
|
-
// Def#, size, base_type
|
285
|
-
253, (sizeof(FIT_DATE_TIME)*1), FIT_BASE_TYPE_UINT32,
|
286
|
-
0, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32,
|
287
|
-
5, (sizeof(FIT_DATE_TIME)*1), FIT_BASE_TYPE_UINT32,
|
288
|
-
1, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
289
|
-
2, (sizeof(FIT_ACTIVITY)*1), FIT_BASE_TYPE_ENUM,
|
290
|
-
3, (sizeof(FIT_EVENT)*1), FIT_BASE_TYPE_ENUM,
|
291
|
-
4, (sizeof(FIT_EVENT_TYPE)*1), FIT_BASE_TYPE_ENUM,
|
292
|
-
6, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
293
|
-
}
|
294
|
-
};
|
295
|
-
|
296
|
-
const static FIT_SESSION_MESG_DEF session_mesg_def =
|
297
|
-
{
|
298
|
-
0, // reserved_1
|
299
|
-
FIT_ARCH_ENDIAN, // arch
|
300
|
-
FIT_MESG_NUM_SESSION, // global_mesg_num
|
301
|
-
34, // num_fields
|
302
|
-
{
|
303
|
-
// Def#, size, base_type
|
304
|
-
253, (sizeof(FIT_DATE_TIME)*1), FIT_BASE_TYPE_UINT32,
|
305
|
-
2, (sizeof(FIT_DATE_TIME)*1), FIT_BASE_TYPE_UINT32,
|
306
|
-
3, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32,
|
307
|
-
4, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32,
|
308
|
-
7, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32,
|
309
|
-
8, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32,
|
310
|
-
9, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32,
|
311
|
-
10, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32,
|
312
|
-
29, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32,
|
313
|
-
30, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32,
|
314
|
-
31, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32,
|
315
|
-
32, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32,
|
316
|
-
254, (sizeof(FIT_MESSAGE_INDEX)*1), FIT_BASE_TYPE_UINT16,
|
317
|
-
11, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
318
|
-
13, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
319
|
-
14, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
320
|
-
15, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
321
|
-
20, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
322
|
-
21, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
323
|
-
22, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
324
|
-
23, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
325
|
-
25, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
326
|
-
26, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
327
|
-
0, (sizeof(FIT_EVENT)*1), FIT_BASE_TYPE_ENUM,
|
328
|
-
1, (sizeof(FIT_EVENT_TYPE)*1), FIT_BASE_TYPE_ENUM,
|
329
|
-
5, (sizeof(FIT_SPORT)*1), FIT_BASE_TYPE_ENUM,
|
330
|
-
6, (sizeof(FIT_SUB_SPORT)*1), FIT_BASE_TYPE_ENUM,
|
331
|
-
16, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
332
|
-
17, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
333
|
-
18, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
334
|
-
19, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
335
|
-
24, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
336
|
-
27, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
337
|
-
28, (sizeof(FIT_SESSION_TRIGGER)*1), FIT_BASE_TYPE_ENUM,
|
338
|
-
}
|
339
|
-
};
|
340
|
-
|
341
|
-
const static FIT_LAP_MESG_DEF lap_mesg_def =
|
342
|
-
{
|
343
|
-
0, // reserved_1
|
344
|
-
FIT_ARCH_ENDIAN, // arch
|
345
|
-
FIT_MESG_NUM_LAP, // global_mesg_num
|
346
|
-
33, // num_fields
|
347
|
-
{
|
348
|
-
// Def#, size, base_type
|
349
|
-
253, (sizeof(FIT_DATE_TIME)*1), FIT_BASE_TYPE_UINT32,
|
350
|
-
2, (sizeof(FIT_DATE_TIME)*1), FIT_BASE_TYPE_UINT32,
|
351
|
-
3, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32,
|
352
|
-
4, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32,
|
353
|
-
5, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32,
|
354
|
-
6, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32,
|
355
|
-
7, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32,
|
356
|
-
8, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32,
|
357
|
-
9, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32,
|
358
|
-
10, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32,
|
359
|
-
27, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32,
|
360
|
-
28, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32,
|
361
|
-
29, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32,
|
362
|
-
30, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32,
|
363
|
-
254, (sizeof(FIT_MESSAGE_INDEX)*1), FIT_BASE_TYPE_UINT16,
|
364
|
-
11, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
365
|
-
12, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
366
|
-
13, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
367
|
-
14, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
368
|
-
19, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
369
|
-
20, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
370
|
-
21, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
371
|
-
22, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
372
|
-
0, (sizeof(FIT_EVENT)*1), FIT_BASE_TYPE_ENUM,
|
373
|
-
1, (sizeof(FIT_EVENT_TYPE)*1), FIT_BASE_TYPE_ENUM,
|
374
|
-
15, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
375
|
-
16, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
376
|
-
17, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
377
|
-
18, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
378
|
-
23, (sizeof(FIT_INTENSITY)*1), FIT_BASE_TYPE_ENUM,
|
379
|
-
24, (sizeof(FIT_LAP_TRIGGER)*1), FIT_BASE_TYPE_ENUM,
|
380
|
-
25, (sizeof(FIT_SPORT)*1), FIT_BASE_TYPE_ENUM,
|
381
|
-
26, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
382
|
-
}
|
383
|
-
};
|
384
|
-
|
385
|
-
const static FIT_RECORD_MESG_DEF record_mesg_def =
|
386
|
-
{
|
387
|
-
0, // reserved_1
|
388
|
-
FIT_ARCH_ENDIAN, // arch
|
389
|
-
FIT_MESG_NUM_RECORD, // global_mesg_num
|
390
|
-
15, // num_fields
|
391
|
-
{
|
392
|
-
// Def#, size, base_type
|
393
|
-
253, (sizeof(FIT_DATE_TIME)*1), FIT_BASE_TYPE_UINT32,
|
394
|
-
0, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32,
|
395
|
-
1, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32,
|
396
|
-
5, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32,
|
397
|
-
11, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32,
|
398
|
-
8, (sizeof(FIT_BYTE)*3), FIT_BASE_TYPE_BYTE,
|
399
|
-
3, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
400
|
-
2, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
401
|
-
6, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
402
|
-
7, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
403
|
-
9, (sizeof(FIT_SINT16)*1), FIT_BASE_TYPE_SINT16,
|
404
|
-
4, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
405
|
-
10, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
406
|
-
12, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
407
|
-
13, (sizeof(FIT_SINT8)*1), FIT_BASE_TYPE_SINT8,
|
408
|
-
}
|
409
|
-
};
|
410
|
-
|
411
|
-
const static FIT_EVENT_MESG_DEF event_mesg_def =
|
412
|
-
{
|
413
|
-
0, // reserved_1
|
414
|
-
FIT_ARCH_ENDIAN, // arch
|
415
|
-
FIT_MESG_NUM_EVENT, // global_mesg_num
|
416
|
-
6, // num_fields
|
417
|
-
{
|
418
|
-
// Def#, size, base_type
|
419
|
-
253, (sizeof(FIT_DATE_TIME)*1), FIT_BASE_TYPE_UINT32,
|
420
|
-
3, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32,
|
421
|
-
2, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
422
|
-
0, (sizeof(FIT_EVENT)*1), FIT_BASE_TYPE_ENUM,
|
423
|
-
1, (sizeof(FIT_EVENT_TYPE)*1), FIT_BASE_TYPE_ENUM,
|
424
|
-
4, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
425
|
-
}
|
426
|
-
};
|
427
|
-
|
428
|
-
const static FIT_DEVICE_INFO_MESG_DEF device_info_mesg_def =
|
429
|
-
{
|
430
|
-
0, // reserved_1
|
431
|
-
FIT_ARCH_ENDIAN, // arch
|
432
|
-
FIT_MESG_NUM_DEVICE_INFO, // global_mesg_num
|
433
|
-
10, // num_fields
|
434
|
-
{
|
435
|
-
// Def#, size, base_type
|
436
|
-
253, (sizeof(FIT_DATE_TIME)*1), FIT_BASE_TYPE_UINT32,
|
437
|
-
3, (sizeof(FIT_UINT32Z)*1), FIT_BASE_TYPE_UINT32Z,
|
438
|
-
2, (sizeof(FIT_MANUFACTURER)*1), FIT_BASE_TYPE_UINT16,
|
439
|
-
4, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
440
|
-
5, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
441
|
-
10, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
442
|
-
0, (sizeof(FIT_DEVICE_INDEX)*1), FIT_BASE_TYPE_UINT8,
|
443
|
-
1, (sizeof(FIT_DEVICE_TYPE)*1), FIT_BASE_TYPE_UINT8,
|
444
|
-
6, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
445
|
-
11, (sizeof(FIT_BATTERY_STATUS)*1), FIT_BASE_TYPE_UINT8,
|
446
|
-
}
|
447
|
-
};
|
448
|
-
|
449
|
-
const static FIT_COURSE_MESG_DEF course_mesg_def =
|
450
|
-
{
|
451
|
-
0, // reserved_1
|
452
|
-
FIT_ARCH_ENDIAN, // arch
|
453
|
-
FIT_MESG_NUM_COURSE, // global_mesg_num
|
454
|
-
3, // num_fields
|
455
|
-
{
|
456
|
-
// Def#, size, base_type
|
457
|
-
5, (sizeof(FIT_STRING)*16), FIT_BASE_TYPE_STRING,
|
458
|
-
6, (sizeof(FIT_COURSE_CAPABILITIES)*1), FIT_BASE_TYPE_UINT32Z,
|
459
|
-
4, (sizeof(FIT_SPORT)*1), FIT_BASE_TYPE_ENUM,
|
460
|
-
}
|
461
|
-
};
|
462
|
-
|
463
|
-
const static FIT_COURSE_POINT_MESG_DEF course_point_mesg_def =
|
464
|
-
{
|
465
|
-
0, // reserved_1
|
466
|
-
FIT_ARCH_ENDIAN, // arch
|
467
|
-
FIT_MESG_NUM_COURSE_POINT, // global_mesg_num
|
468
|
-
7, // num_fields
|
469
|
-
{
|
470
|
-
// Def#, size, base_type
|
471
|
-
1, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32,
|
472
|
-
2, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32,
|
473
|
-
3, (sizeof(FIT_SINT32)*1), FIT_BASE_TYPE_SINT32,
|
474
|
-
4, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32,
|
475
|
-
6, (sizeof(FIT_STRING)*16), FIT_BASE_TYPE_STRING,
|
476
|
-
254, (sizeof(FIT_MESSAGE_INDEX)*1), FIT_BASE_TYPE_UINT16,
|
477
|
-
5, (sizeof(FIT_COURSE_POINT)*1), FIT_BASE_TYPE_ENUM,
|
478
|
-
}
|
479
|
-
};
|
480
|
-
|
481
|
-
const static FIT_WORKOUT_MESG_DEF workout_mesg_def =
|
482
|
-
{
|
483
|
-
0, // reserved_1
|
484
|
-
FIT_ARCH_ENDIAN, // arch
|
485
|
-
FIT_MESG_NUM_WORKOUT, // global_mesg_num
|
486
|
-
5, // num_fields
|
487
|
-
{
|
488
|
-
// Def#, size, base_type
|
489
|
-
5, (sizeof(FIT_WORKOUT_CAPABILITIES)*1), FIT_BASE_TYPE_UINT32Z,
|
490
|
-
8, (sizeof(FIT_STRING)*16), FIT_BASE_TYPE_STRING,
|
491
|
-
6, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
492
|
-
7, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
493
|
-
4, (sizeof(FIT_SPORT)*1), FIT_BASE_TYPE_ENUM,
|
494
|
-
}
|
495
|
-
};
|
496
|
-
|
497
|
-
const static FIT_WORKOUT_STEP_MESG_DEF workout_step_mesg_def =
|
498
|
-
{
|
499
|
-
0, // reserved_1
|
500
|
-
FIT_ARCH_ENDIAN, // arch
|
501
|
-
FIT_MESG_NUM_WORKOUT_STEP, // global_mesg_num
|
502
|
-
9, // num_fields
|
503
|
-
{
|
504
|
-
// Def#, size, base_type
|
505
|
-
0, (sizeof(FIT_STRING)*16), FIT_BASE_TYPE_STRING,
|
506
|
-
2, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32,
|
507
|
-
4, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32,
|
508
|
-
5, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32,
|
509
|
-
6, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32,
|
510
|
-
254, (sizeof(FIT_MESSAGE_INDEX)*1), FIT_BASE_TYPE_UINT16,
|
511
|
-
1, (sizeof(FIT_WKT_STEP_DURATION)*1), FIT_BASE_TYPE_ENUM,
|
512
|
-
3, (sizeof(FIT_WKT_STEP_TARGET)*1), FIT_BASE_TYPE_ENUM,
|
513
|
-
7, (sizeof(FIT_INTENSITY)*1), FIT_BASE_TYPE_ENUM,
|
514
|
-
}
|
515
|
-
};
|
516
|
-
|
517
|
-
const static FIT_SCHEDULE_MESG_DEF schedule_mesg_def =
|
518
|
-
{
|
519
|
-
0, // reserved_1
|
520
|
-
FIT_ARCH_ENDIAN, // arch
|
521
|
-
FIT_MESG_NUM_SCHEDULE, // global_mesg_num
|
522
|
-
7, // num_fields
|
523
|
-
{
|
524
|
-
// Def#, size, base_type
|
525
|
-
2, (sizeof(FIT_UINT32Z)*1), FIT_BASE_TYPE_UINT32Z,
|
526
|
-
3, (sizeof(FIT_DATE_TIME)*1), FIT_BASE_TYPE_UINT32,
|
527
|
-
6, (sizeof(FIT_DATE_TIME)*1), FIT_BASE_TYPE_UINT32,
|
528
|
-
0, (sizeof(FIT_MANUFACTURER)*1), FIT_BASE_TYPE_UINT16,
|
529
|
-
1, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
530
|
-
4, (sizeof(FIT_BOOL)*1), FIT_BASE_TYPE_ENUM,
|
531
|
-
5, (sizeof(FIT_SCHEDULE)*1), FIT_BASE_TYPE_ENUM,
|
532
|
-
}
|
533
|
-
};
|
534
|
-
|
535
|
-
const static FIT_TOTALS_MESG_DEF totals_mesg_def =
|
536
|
-
{
|
537
|
-
0, // reserved_1
|
538
|
-
FIT_ARCH_ENDIAN, // arch
|
539
|
-
FIT_MESG_NUM_TOTALS, // global_mesg_num
|
540
|
-
6, // num_fields
|
541
|
-
{
|
542
|
-
// Def#, size, base_type
|
543
|
-
253, (sizeof(FIT_DATE_TIME)*1), FIT_BASE_TYPE_UINT32,
|
544
|
-
0, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32,
|
545
|
-
1, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32,
|
546
|
-
2, (sizeof(FIT_UINT32)*1), FIT_BASE_TYPE_UINT32,
|
547
|
-
254, (sizeof(FIT_MESSAGE_INDEX)*1), FIT_BASE_TYPE_UINT16,
|
548
|
-
3, (sizeof(FIT_SPORT)*1), FIT_BASE_TYPE_ENUM,
|
549
|
-
}
|
550
|
-
};
|
551
|
-
|
552
|
-
const static FIT_WEIGHT_SCALE_MESG_DEF weight_scale_mesg_def =
|
553
|
-
{
|
554
|
-
0, // reserved_1
|
555
|
-
FIT_ARCH_ENDIAN, // arch
|
556
|
-
FIT_MESG_NUM_WEIGHT_SCALE, // global_mesg_num
|
557
|
-
12, // num_fields
|
558
|
-
{
|
559
|
-
// Def#, size, base_type
|
560
|
-
253, (sizeof(FIT_DATE_TIME)*1), FIT_BASE_TYPE_UINT32,
|
561
|
-
0, (sizeof(FIT_WEIGHT)*1), FIT_BASE_TYPE_UINT16,
|
562
|
-
1, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
563
|
-
2, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
564
|
-
3, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
565
|
-
4, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
566
|
-
5, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
567
|
-
7, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
568
|
-
9, (sizeof(FIT_UINT16)*1), FIT_BASE_TYPE_UINT16,
|
569
|
-
8, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
570
|
-
10, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
571
|
-
11, (sizeof(FIT_UINT8)*1), FIT_BASE_TYPE_UINT8,
|
572
|
-
}
|
573
|
-
};
|
574
|
-
|
575
|
-
|
576
|
-
///////////////////////////////////////////////////////////////////////
|
577
|
-
// Public Constants
|
578
|
-
///////////////////////////////////////////////////////////////////////
|
579
|
-
|
580
|
-
const FIT_MESG_DEF *fit_mesg_defs[FIT_MESGS] =
|
581
|
-
{
|
582
|
-
(FIT_MESG_DEF *)&file_id_mesg_def,
|
583
|
-
(FIT_MESG_DEF *)&file_creator_mesg_def,
|
584
|
-
(FIT_MESG_DEF *)&software_mesg_def,
|
585
|
-
(FIT_MESG_DEF *)&capabilities_mesg_def,
|
586
|
-
(FIT_MESG_DEF *)&file_capabilities_mesg_def,
|
587
|
-
(FIT_MESG_DEF *)&mesg_capabilities_mesg_def,
|
588
|
-
(FIT_MESG_DEF *)&field_capabilities_mesg_def,
|
589
|
-
(FIT_MESG_DEF *)&device_settings_mesg_def,
|
590
|
-
(FIT_MESG_DEF *)&user_profile_mesg_def,
|
591
|
-
(FIT_MESG_DEF *)&hrm_profile_mesg_def,
|
592
|
-
(FIT_MESG_DEF *)&zones_target_mesg_def,
|
593
|
-
(FIT_MESG_DEF *)&sport_mesg_def,
|
594
|
-
(FIT_MESG_DEF *)&hr_zone_mesg_def,
|
595
|
-
(FIT_MESG_DEF *)&speed_zone_mesg_def,
|
596
|
-
(FIT_MESG_DEF *)&power_zone_mesg_def,
|
597
|
-
(FIT_MESG_DEF *)&met_zone_mesg_def,
|
598
|
-
(FIT_MESG_DEF *)&activity_mesg_def,
|
599
|
-
(FIT_MESG_DEF *)&session_mesg_def,
|
600
|
-
(FIT_MESG_DEF *)&lap_mesg_def,
|
601
|
-
(FIT_MESG_DEF *)&record_mesg_def,
|
602
|
-
(FIT_MESG_DEF *)&event_mesg_def,
|
603
|
-
(FIT_MESG_DEF *)&device_info_mesg_def,
|
604
|
-
(FIT_MESG_DEF *)&course_mesg_def,
|
605
|
-
(FIT_MESG_DEF *)&course_point_mesg_def,
|
606
|
-
(FIT_MESG_DEF *)&workout_mesg_def,
|
607
|
-
(FIT_MESG_DEF *)&workout_step_mesg_def,
|
608
|
-
(FIT_MESG_DEF *)&schedule_mesg_def,
|
609
|
-
(FIT_MESG_DEF *)&totals_mesg_def,
|
610
|
-
(FIT_MESG_DEF *)&weight_scale_mesg_def,
|
611
|
-
};
|
612
|
-
|
613
|
-
const FIT_FIELD_CAPABILITIES_MESG fit_field_capabilities[FIT_FIELD_CAPABILITIES_MESGS] =
|
614
|
-
{
|
615
|
-
{ FIT_MESG_NUM_RECORD, 1, FIT_FILE_ACTIVITY, FIT_RECORD_FIELD_NUM_POSITION_LAT },
|
616
|
-
{ FIT_MESG_NUM_RECORD, 1, FIT_FILE_ACTIVITY, FIT_RECORD_FIELD_NUM_POSITION_LONG },
|
617
|
-
};
|
618
|
-
|