Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lot's of unknown fields #267

Closed
valgit opened this issue May 14, 2024 · 2 comments
Closed

lot's of unknown fields #267

valgit opened this issue May 14, 2024 · 2 comments

Comments

@valgit
Copy link

valgit commented May 14, 2024

in testing the lib, using fitprint on an activity file, I see lots of unknown fields.
Is it normal ? How can we add them correctly ?

like :

file_id (num: 0, fields[-]: 7, developerFields[+]: 0) [0]:
  - serial_number (num: 3, type: uint32z): 3988348287
  - time_created (num: 4, type: uint32 | date_time): "2024-05-10T13:41:57Z" (1084282917)
  - unknown (num: 7, type: uint32): 4294967295 (INVALID)
  - manufacturer (num: 1, type: uint16 | manufacturer): 1 <garmin>
  - garmin_product (num: 2, type: uint16 | garmin_product): 2700 <vivoactive3> <<DynamicField: "product" (ty
pe: uint16)>>
  - number (num: 5, type: uint16): 65535 (INVALID)
  - type (num: 0, type: enum | file): 4 <activity>
file_creator (num: 49, fields[-]: 3, developerFields[+]: 0) [1]:
  - unknown (num: 2, type: string array): "" (INVALID)
  - software_version (num: 0, type: uint16): 820
  - hardware_version (num: 1, type: uint8): 255 (INVALID)
event (num: 21, fields[-]: 7, developerFields[+]: 0) [2]:
  - timestamp (num: 253, type: uint32 | date_time): "2024-05-10T13:41:56Z" (1084282916)
  - timer_trigger (num: 3, type: enum | timer_trigger): 0 <manual> <<DynamicField: "data" (type: uint32)>>
  - event (num: 0, type: enum | event): 0 <timer>
  - event_type (num: 1, type: enum | event_type): 0 <start>
  - event_group (num: 4, type: uint8): 0
  - unknown (num: 19, type: uint8): 255 (INVALID)
  - unknown (num: 20, type: uint8): 255 (INVALID)
device_info (num: 23, fields[-]: 26, developerFields[+]: 0) [3]:
  - local_device_type (num: 1, type: uint8 | local_device_type): 3 <accelerometer> <<DynamicField: "device_t
ype" (type: uint8)>>
  - hardware_version (num: 6, type: uint8): 255 (INVALID)
  - unknown (num: 9, type: uint8): 255 (INVALID)
  - battery_status (num: 11, type: uint8 | battery_status): 255 (INVALID)
  - ant_transmission_type (num: 20, type: uint8z): 0 (INVALID)
  - ant_network (num: 22, type: enum | ant_network): 255 (INVALID)
  - unknown (num: 23, type: uint8): 255 (INVALID)
  - source_type (num: 25, type: enum | source_type): 5 <local>
  - unknown (num: 29, type: uint8 array): [255 255 255 255 255 255] (INVALID)
  - unknown (num: 30, type: uint8): 255 (INVALID)
unknown (num: 22, fields[-]: 8, developerFields[+]: 0) [8]:
  - unknown (num: 253, type: uint32): 1084282916
  - unknown (num: 0, type: uint8): 255 (INVALID)
  - unknown (num: 1, type: uint8): 255 (INVALID)
  - unknown (num: 2, type: uint8): 4
  - unknown (num: 3, type: uint8): 255 (INVALID)
  - unknown (num: 4, type: uint8): 3
  - unknown (num: 5, type: enum): 3
  - unknown (num: 14, type: uint8): 255 (INVALID)
unknown (num: 141, fields[-]: 7, developerFields[+]: 0) [9]:
  - unknown (num: 253, type: uint32): 1084282916
  - unknown (num: 1, type: uint32): 1084125582
  - unknown (num: 2, type: uint32): 1084449582
  - unknown (num: 3, type: uint32): 4294967295 (INVALID)
  - unknown (num: 4, type: sint32): 2147483647 (INVALID)
  - unknown (num: 5, type: sint32): 2147483647 (INVALID)
  - unknown (num: 0, type: enum): 1
device_settings (num: 2, fields[-]: 49, developerFields[+]: 0) [10]:
  - utc_offset (num: 1, type: uint32): 0
  - time_offset (num: 2, type: uint32 array): [7200]
  - auto_activity_detect (num: 90, type: uint32 | auto_activity_detect): 1 <runni
 

or

thanks

@muktihari
Copy link
Owner

@valgit

in testing the lib, using fitprint on an activity file, I see lots of unknown fields.
Is it normal ? How can we add them correctly ?

Yes, it is normal to retrieve unknown messages and unknown fields. Any items not defined in Global Profile Profile.xlsx (the file is obtained from https://developer.garmin.com/fit/download/) would produce "unknown". Those items are specific to manufacturers, you can try asking them for details.

Since your device is a Garmin Vivoactive 3, you can ask here: https://forums.garmin.com/developer/fit-sdk/f/discussion. Once you get the specification details, you can add those specifications to the FIT SDK, please see https://github.com/muktihari/fit#custom-fit-sdk for step-by-step adding manufacturer specific messages (Product Profile), only then you can decode the unknown messages and unknown fields.

@muktihari
Copy link
Owner

Hi @valgit, since there is no further feedback, I will close this issue. Feel free to reopen it if you believe the matter remains unresolved. For any questions, please use discussions. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants