Comments (7)
Looks like you have a Garmin device I haven't seen before. Which device do you have?
If you have further issues, you might want to share a fit file with me and I will work through any remaining issues.
from garmindb.
Hi, i have a Garmin 630 Forerunner unit, plus a Stryd Power Meter. Perhaps its that some metrics come from Stryd that are doing it?
I tried to send a fit file here but couldn't, i sent it to email
from garmindb.
I received the fit file and will make sure there are no issues supporting it.
from garmindb.
Did you use the Stryd Power Meter for the activity that file was from?
I don't see it in the file. I see:
GarminProduct.Forerunner_630
GarminProduct.GPS_1619
GarminProduct.HRM4_Run
GarminProduct.Accelerometer_16
GarminProduct.fr225_single_byte_product_id
Maybe the Stryd impersonates a HRM run.
from garmindb.
Yes, i did. But i am not sure if this is the reason for not working.
The metrics from Stryd are Connect IQ datafields: Power, Cadence, Ground Time, Vertical Oscilation, Form Power etc.. Note that there are dublets (ex Cadence from 'normal' watch and Cadence from Stryd Connect IQ field)
from garmindb.
Here are the dev fields being parsed form your file:
Power, Cadence, Ground Time, Vertical Oscillation, Elevation, Form Power, and Leg Spring Stiffness
Message: DataMessage: <MessageType.field_description: 206>: {'fit_base_unit_id': fit_base_unit_id([invalid]), 'scale': scale([invalid] (255)), 'native_message_num': native_message_num(20), 'native_field_num': native_field_num(7), 'fit_base_type_id': fit_base_type_id('uint16' (132)), 'field_definition_number': field_definition_number(0), 'developer_data_index': developer_data_index(0), 'offset': offset([invalid] (127)), 'units': units('Watts' ([87, 97, 116, 116, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), 'field_name': field_name('Power' ([80, 111, 119, 101, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]))} Message: DataMessage: <MessageType.field_description: 206>: {'fit_base_unit_id': fit_base_unit_id([invalid]), 'scale': scale([invalid] (255)), 'native_message_num': native_message_num(20), 'native_field_num': native_field_num(4), 'fit_base_type_id': fit_base_type_id('uint8' (2)), 'field_definition_number': field_definition_number(2), 'developer_data_index': developer_data_index(0), 'offset': offset([invalid] (127)), 'units': units('RPM' ([82, 80, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), 'field_name': field_name('Cadence' ([67, 97, 100, 101, 110, 99, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]))} Message: DataMessage: <MessageType.field_description: 206>: {'fit_base_unit_id': fit_base_unit_id([invalid]), 'scale': scale([invalid] (255)), 'native_message_num': native_message_num(20), 'native_field_num': native_field_num(41), 'fit_base_type_id': fit_base_type_id('uint16' (132)), 'field_definition_number': field_definition_number(3), 'developer_data_index': developer_data_index(0), 'offset': offset([invalid] (127)), 'units': units('Milliseconds' ([77, 105, 108, 108, 105, 115, 101, 99, 111, 110, 100, 115, 0, 0, 0, 0])), 'field_name': field_name('Ground Time' ([71, 114, 111, 117, 110, 100, 32, 84, 105, 109, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]))} Message: DataMessage: <MessageType.field_description: 206>: {'fit_base_unit_id': fit_base_unit_id([invalid]), 'scale': scale([invalid] (255)), 'native_message_num': native_message_num(20), 'native_field_num': native_field_num(39), 'fit_base_type_id': fit_base_type_id('float32' (136)), 'field_definition_number': field_definition_number(4), 'developer_data_index': developer_data_index(0), 'offset': offset([invalid] (127)), 'units': units('Centimeters' ([67, 101, 110, 116, 105, 109, 101, 116, 101, 114, 115, 0, 0, 0, 0, 0])), 'field_name': field_name('Vertical Oscillation' ([86, 101, 114, 116, 105, 99, 97, 108, 32, 79, 115, 99, 105, 108, 108, 97, 116, 105, 111, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]))} Message: DataMessage: <MessageType.field_description: 206>: {'fit_base_unit_id': fit_base_unit_id([invalid]), 'scale': scale([invalid] (255)), 'native_message_num': native_message_num(20), 'native_field_num': native_field_num([invalid] (255)), 'fit_base_type_id': fit_base_type_id('uint16' (132)), 'field_definition_number': field_definition_number(7), 'developer_data_index': developer_data_index(0), 'offset': offset([invalid] (127)), 'units': units('Meters' ([77, 101, 116, 101, 114, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), 'field_name': field_name('Elevation' ([69, 108, 101, 118, 97, 116, 105, 111, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]))} Message: DataMessage: <MessageType.field_description: 206>: {'fit_base_unit_id': fit_base_unit_id([invalid]), 'scale': scale([invalid] (255)), 'native_message_num': native_message_num(20), 'native_field_num': native_field_num([invalid] (255)), 'fit_base_type_id': fit_base_type_id('uint16' (132)), 'field_definition_number': field_definition_number(8), 'developer_data_index': developer_data_index(0), 'offset': offset([invalid] (127)), 'units': units('Watts' ([87, 97, 116, 116, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), 'field_name': field_name('Form Power' ([70, 111, 114, 109, 32, 80, 111, 119, 101, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]))} Message: DataMessage: <MessageType.field_description: 206>: {'fit_base_unit_id': fit_base_unit_id([invalid]), 'scale': scale([invalid] (255)), 'native_message_num': native_message_num(20), 'native_field_num': native_field_num([invalid] (255)), 'fit_base_type_id': fit_base_type_id('float32' (136)), 'field_definition_number': field_definition_number(9), 'developer_data_index': developer_data_index(0), 'offset': offset([invalid] (127)), 'units': units('kN/m' ([107, 78, 47, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])), 'field_name': field_name('Leg Spring Stiffness' ([76, 101, 103, 32, 83, 112, 114, 105, 110, 103, 32, 83, 116, 105, 102, 102, 110, 101, 115, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]))}
They are currently being parsed from the FIT file and are present in the fit file output, but are not being put into the DB unless they share a name with a field from the HRM-Tri. I have to think about how to store fields that are present for only some users.
from garmindb.
Lap messages from your FIT file supply the same fields as the HRM run. Those will appear in the DB already for runs. There are addition stats in the record entries that can be added to the DB. Please file an a new issue if you want those in the DB. If you want these stats to appear for walking activities, please file a separate issue for that.
Example record:
Message: DataMessage: <MessageType.record: 20>: {'distance': distance(0.0 (Distance(0.0 meters [0.0]))), 'avg_vertical_oscillation': avg_vertical_oscillation(1.7598425760000003 (Distance(0.0447 meters [44.7]))), 'timestamp': timestamp(datetime.datetime(2019, 6, 11, 3, 58, 44) (929174325)), 'altitude': altitude(19.717847799 (Distance(6.01 meters [601.0]))), 'position_long': xx, 'dev_Vertical Oscillation': dev_Vertical Oscillation(0.0 Centimeters), 'fractional_cadence': fractional_cadence(64), 'vertical_ratio': vertical_ratio(0.1328 % (1328)), 'dev_Leg Spring Stiffness': dev_Leg Spring Stiffness(0.0 kN/m), 'dev_Power': dev_Power(73 Watts), 'heart_rate': heart_rate(86 bpm), 'step_length': step_length(16.45669344 (Distance(0.418 meters [418.0]))), 'dev_Form Power': dev_Form Power(25 Watts), 'dev_Elevation': dev_Elevation(77 Meters), 'position_lat': xx, 'dev_Ground Time': dev_Ground Time(1150 Milliseconds), 'speed': speed(0.23040440799999998 (Speed(0.230404408 mph [103.0]))), 'dev_Cadence': dev_Cadence(52 RPM), 'cadence': cadence(51), 'activity_type': activity_type(<ActivityType.walking: 6> (6))}
from garmindb.
Related Issues (20)
- distutils not found HOT 4
- Can't login to Garmin HOT 6
- cannot import name 'Graph' from 'garmindb' HOT 1
- HR for given period HOT 1
- Data is missing HOT 7
- "make setup" do not find bash on newer mac OSX HOT 2
- Unclear what python version is required HOT 2
- script finds 0 activities HOT 1
- Feature request: Add support for Training Status/Training Load HOT 5
- Feature request: Multi-threading or multi-processing for --import and --analyze commands
- `make` redownloading activities HOT 1
- New Field for the configuring the storage for HealthData HOT 1
- Make fails in version checking on Ubuntu HOT 1
- activity_laps not downloading since pip last update
- Failed to parse Message DataMessage from WELLNESS fit files
- ImportError: No module named garmindb
- KeyError when downloading activity due to NULL activityName HOT 1
- Cannot import name 'ConfigManager' HOT 2
- ___Analyzing Data___ TypeError: '<' not supported between instances of 'int' and 'NoneType' HOT 1
- Are dependency versions hard requirements, or the version that tests are done with?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from garmindb.