From c44820a88d91abfd604a34c4a51839d090e49894 Mon Sep 17 00:00:00 2001 From: Hari Mukti Date: Mon, 8 Jan 2024 13:10:19 +0700 Subject: [PATCH] docs: update README.md (#99) --- README.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 30b4230b..1edbb62d 100644 --- a/README.md +++ b/README.md @@ -13,12 +13,19 @@ However, despite having gained widespread adoption, Garmin has not yet released More about FIT: [developer.garmin.com/fit](https://developer.garmin.com/fit) -This SDK is designed with efficiency in mind, but it places a higher priority on clarity, simplicity and extensibility. +This SDK is designed with efficiency in mind, but it places a higher priority on clarity, simplicity and extensibility. There might be some Go implementations out there for decoding or encoding FIT, but we offer greater completeness and similar semantics to the Official SDK. ## Usage Please see [Usage](/docs/usage.md). +## Key distinct features + +1. You have full control over the data since by default it uses FIT protocol messages semantic instead of direct mapping to user-defined struct. However, we still offer the user-defined struct mapping for someone who prefer to interact with FIT that way. See [Usage](/docs/usage.md) for details. +1. Receive the message as soon as it is decoded by registering listeners to the decoder. The decoder will broadcast every message to all registered listeners. +1. Decoding and Encoding **Developer Fields** since [Protocol Version 2.0 is supported](#Protocol-Version-2.0-is-supported) +1. Encoding **multiple local message type** and **compressed message** are supported, it means, you can create the smallest binary size as possible than just using localMesgNum 0. + ## Protocol Version 2.0 is supported Version 2.0 introduced [**Developer Fields**](https://developer.garmin.com/fit/cookbook/developer-data) as a way to add custom data fields to existing messages. We strives to support **Developer Fields** and carefully thought about how to implement it since the inception of the SDK. While this may still need to be battle-tested to ensure correctness, this is generally work and usable.