Page 2
Garmin Canada Inc. unless such commitment is expressly given in a covering document. The Garmin Canada Inc. ANT Products described by the information in this document are not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the Garmin product could create a situation where personal injury or death may occur.
Page 3
Fixed incorrect message sizes, missing /incorrect invalid values. Updated section 4.6 – Custom Events. 2.0._alpha.07 May 2018 Added section 6.1- ANT+ Manufacturer specific pages Add clearer resistance specification and calcs. 2.0_alpha.10 July 2018 Merge in changes from Tom and Mark.
Setting the user and/or bicycle weight ..............31 5.2.5 Setting manufacturer specific data ................33 5.2.6 Notification of updated manufacturer specific value ........... 34 Connecting to G.FIT over ANT+ FE-C ........................36 Dual frequency FE-C ......................36 ANT+ manufacturer specific pages ..................36 thisisant.com...
Page 5
6.4.1 Installing CIQ application on a compatible Garmin watch ........... 38 6.4.2 Opening the application ..................38 6.4.3 Connecting to the G.FIT ANT+ FE-C channel ............. 38 6.4.4 Viewing live workout data..................38 6.4.5 Saving user’s workout session ................. 38 6.4.6...
Page 6
Library license key ....................104 A.1.2 Compiler compatibility ................... 105 Appendix B - Fitness equipment console simulator ...................... 106 Introduction ........................106 Installing ANT USB interface board driver ................106 Basic operation ......................... 108 B.3.1 Initial G.FIT setup ....................108 B.3.2 Turning on the simulated console ................
Page 7
Figure 7-6. Extended serial event ....................41 Figure 7-7. Example: Setting FE metrics serial command (0xE1) ............60 Figure 7-8. Example: Successful spin down calibration process (ANT) ..........81 Figure 7-9. Example: Successful spin down calibration process (BLE) ..........82 Figure 7-10.
Page 8
Table 5-8. Custom data characteristic structure ................31 Table 5-9. Op code and parameters ....................31 Table 6-1. G.FIT ANT+ manufacturer specific page format ............... 36 Table 7-1. G.FIT response codes ....................41 Table 7-2. gfit_fep_set_state_ command message ................44 Table 7-3.
Page 9
Table 7-65. gfit_event_entering_bootloader event message ............100 Table 7-66. gfit_event_custom event message ................101 Table 7-67. Request to retrieve ANT ID ..................102 Table 7-68. ANT ID read response message ................... 102 Table 7-69. RSSI calibration offset message .................. 103...
Page 10
Page 10 of 117 G.FIT User Guide and Specification, Rev 2.0_Alpha.14 Table 7-70. RSSI calibration offset response message..............103 Table 8-1. Table captions go over table ..................113 List of Equations Equation 5-1. Interpreting transmitted resistance values ..............29 Equation 7-1. Calculating gfit_fep_set_XX_data length ..............59 Equation 8-1.
G.FIT User Guide and Specification, Rev 2.0_Alpha.14 Page 11 of 117 Support The D52 ANT SoC module series (including G.FIT) uses the nRF52832 from Nordic Semiconductor. You can seek technical support from Nordic Semiconductor, www.nordicsemi.com. G.FIT application support can be sought from Garmin Canada via www.thisisant.com.
G.FIT works around WiFi interference to ensure large groups of 50+ devices can connect concurrently. • G.FIT solves pairing and setup difficulties with dual protocol support for both ANT+ and BLE heart rate monitors. • G.FIT makes it easy for non-technical users to pair by using proximity pairing and list pairing features.
Page 14 of 117 G.FIT User Guide and Specification, Rev 2.0_Alpha.14 Figure 2-1. G.FIT use case illustration – fitness equipment Figure 2-2 - G.FIT use case illustration - smart bike trainer thisisant.com...
G.FIT Evaluation Network Processor: Pre-built hex file for the G.FIT network processor intended for evaluation purposes. This hex file can be used only in D52 development modules (D52QSKM6IA -A), e.g., for use with the D52 ANT SoC Module Series Starter Kit (D52DK2) . •...
G.FIT enabled fitness equipment device. 3.2.5 SimulANT+ SimulANT+ can be used to connect to one of the G.FIT ANT+ FE -C channels. See section 6.3 for more details. SimulANT+ is available for download at https://www.thisisant.com/developer/resources/downloads/ .
G.FIT operation Fitness equipment (FE) states G.FIT has been designed so that it complies with the states defined in the ANT+ Fitness Equipment Device Profile. The ANT+ Fitness Equipment Device Profile defines four states that the fitness equipment can be in.
Heart rate receive channels ANT+ and BLE heart rate scan channels are opened and wil l remain open while in state READY. If a heart rate monitor is paired to G.FIT, a dedicated channel is opened to establish a connection with that heart rate monitor, both ANT+ and BLE heart rate scan channels will remain open and scan for heart rates wh en connected to a heart rate monitor.
Heart rate monitor paired If a heart rate monitor was paired to the G.FIT when moving to state FINISHED, both ANT+ and BLE heart rate scan channels will remain closed. The G.FIT will maintain the connection to the heart rate monitor while in state FINISHED.
Page 20 of 117 G.FIT User Guide and Specification, Rev 2.0_Alpha.14 4.1.5.2.1 No display connected to peripheral If G.FIT moves to state FINISHED while there is no display connected and the BLE FTMS peripheral is still advertising (the time spend in state IN USE was less than the InUseAdvertisingTimeout), the InUseAdvertisingTimeout will reset and the peripheral will conti nue to advertise for the timeout duration.
In channel ID pairing, G.FIT generates HR events (see section 7.5.1) for every heart rate message received on the ANT and BLE scan channels, and provides a method of connecting to the desired heart rate monitor using the gfit_hrp_pair_to_device serial command (see section 7.3.6). This gives the application the flexibility to pair to any heart rate monitor within range of the G.FIT module.
Figure 4-3. Order of G.FIT configuration commands Event handling G.FIT will process specific messages received over ANT and BLE and will generate protocol agnostic events that can be processed by the application. Refer to section 0 for available G.FIT events.
G.FIT will automatically generate the appropriate response for each protocol to indicate th at particular feature is not supported. In the case of ANT, the message will be ignored. In the case of BLE (FTMS or G.FIT custom event), a response indicating ‘Op Code Not Supported’ will be sent to the display.
Last Command = Target Power Command Status = Pass Parameter = 180 W Data Page 70 Requested Page = 71 Data Page 71 Command ID = 51 Command Status = Pass Target Power = 180 W Figure 4-4. Event handling (ANT) thisisant.com...
G.FIT User Guide and Specification, Rev 2.0_Alpha.14 Page 25 of 117 BLE FE DISPLAY FE APPLICATION Write Request to Fitness Machine Control Point Op Code = Set Target Power Parameter Value = 180 W Write Response gfit_event_set_target (0xB5) Target Type = Power Target Value = 180 W gfit_fep_send_command_update (0xE5) Command Response = Success...
G.FIT allows bidirectional custom message exchange between the fitness equipment and display over both ANT+ (through manufacturer specific pages, section 6.2) and BLE (through the G.FIT Custom Service, section Custom events can be used to transfer manufacturer specific information between the two devices. Custom events are transmitted over the same channel as FE data;...
G.FIT User Guide and Specification, Rev 2.0_Alpha.14 Page 27 of 117 Connecting to G.FIT over BLE The following services and characteristics are available over BLE : • Fitness Machine Service (FTMS) UUID: 0x1826 Characteristics Present: One of: ▪ • Treadmill Data (UUID: 0x2ACD) •...
Interpreting resistance G.FIT uses units of 0.5% for all resistance values, as does ANT+. The resistance values transmitted using BLE FTMS use different resolutions, so this section explains how to interpret the values and provides examples. Table 5-1. Representations of resistance by context...
G.FIT User Guide and Specification, Rev 2.0_Alpha.14 Page 29 of 117 Table 5-2. Representations of resistance by data characteristic Data characteristic Representation Effective range Indoor bike data 0x2AD2 Unitless with a resolution of 1 -2000 to +2000 Rower data 0X2AD1 Unitless with a resolution of 1 -2000 to +2000 Unitless with a resolution of...
Page 30 of 117 G.FIT User Guide and Specification, Rev 2.0_Alpha.14 G.FIT custom service The G.FIT Custom Service is a proprietary service used to send additional fitness equipment data not currently supported by FTMS, as well as enable exchange of manufacturer specific messages over BLE. The G.FIT Custom Service was modeled after FTMS .
G.FIT User Guide and Specification, Rev 2.0_Alpha.14 Page 31 of 117 5.2.2 Custom data characteristic The custom data characteristic can be used to send the user weight and/or bicycle weight that is currently in use by G.FIT to a BLE display, as well as to send manufacturer specific data fro m the fitness equipment to the display.
Page 32
Page 32 of 117 G.FIT User Guide and Specification, Rev 2.0_Alpha.14 BLE FE DISPLAY FE APPLICATION Store User Weight thisisant.com...
The fe_command_status_update command at the end of this process is optional. This step enables G.FIT to transmit the new user weight value on both the BLE channel (as a notification) and the ANT+ FE-C channel (as a requestable data page).
The figure below shows the fitness equipment application sending a serial command to the G.FIT library that causes G.FIT to send a notification to the BLE display containing the new manufacturer specific value. The same data is also sent on the ANT+ FE-C channel as a manufacturer specific page (see section 6.2). thisisant.com...
G.FIT User Guide and Specification, Rev 2.0_Alpha.14 Page 35 of 117 BLE FE DISPLAY FE APPLICATION BLE FE DISPLAY FE APPLICATION gfit_fep_send_custom_event (0xB0) Op Code = 0xFD Parameter = 01-02-03-04-05 Custom Data Notification Op Code = 0xFD Parameter = 01-02-03-04-05 Figure 5-3.
Data Page 55- User Configuration G.FIT uses ANT channels 9 to 14 inclusive. This leaves channels 0 to 8 inclusive for use by the application if required. Do not modify the network key for network 7 as this network is configured and used by the G.FIT library.
ANT+ FE-C and retried 8 times. Using SimulANT+ to view transmitted data SimulANT+ can be used to view and parse the data being transmitted by G.FIT on the ANT+ frequency (2457MHz). SimulANT+ is available for download from https://www.thisisant.com/developer/resources/downloads/...
Tracking FE-C channel with CIQ application The CIQ application allows a user to connect to the G.FIT ANT+ FE -C channel. This allows the user to view their workout in real time on their watch. At the end of a workout, the user can save their session on their device.
The extended serial message protocol is used to communicate between the G.FIT module and the application MCU. In addition to using 2-byte message IDs, the extended serial message protocol is more dynamic than the standard ANT serial message protocol. For all commands outside of G.FIT functionality, the standard ANT Message Protocol and Usage serial message protocol still applies, as detailed in the document.
Page 40 of 117 G.FIT User Guide and Specification, Rev 2.0_Alpha.14 Request/Command Events Command/Response Command/Response Request/Command Events Figure 7-2. Extended serial message types 7.1.1 Commands (0xE2) Extended serial commands are used to execute specific commands on G.FIT, or to provide information about the settings/state of G.FIT.
G.FIT User Guide and Specification, Rev 2.0_Alpha.14 Page 41 of 117 The structure of a request message is shown in Figure 7-4. The first two bytes of the payload indicate wh ich command is being requested. Requested Command Sync Length Request ID Chksum 1 byte...
Page 42
The command sent to G.FIT was not recognized as a 0x03 GFIT_ERROR_INVALID_COMMAND valid G.FIT command. G.FIT does not allow the ANT device ID to be set to GFIT_ERROR zero. This error is returned if attempting to set a 4- 0x04...
Page 43
See section 7.3.11 for more details. This error is returned if sending a manufacturer page GFIT_ERROR over ANT+ FE-C that does not fall within the 0x11 INVALID_MFG_SPECIFIC_PAGE_NUMBER manufacturer page range. Manufacturer pages should be greater than 0xE0.
Table 7-2. Table 7-2. gfit_fep_set_state_ command message Byte # Name Length Description Fixed value of 10100100 or 10100101 Interfacing with ANT General Purpose Chipsets and Sync 1 byte (Refer to the Modules document for details.) Length...
(0xD1) Control Command: Determines which services are enabled. Disabling ANT communication will disable transmission of fitness equipment data over FE -C as well as disable receiving ANT HR data. Similarly, disabling BLE peripheral communication will also disable FTMS and HRS.
G.FIT User Guide and Specification, Rev 2.0_Alpha.14 Table 7-4. gfit_fep_set_channel_configuration command message Byte # Name Length Description Fixed value of 10100100 or 10100101 Interfacing with ANT General Purpose Chipsets and Sync 1 byte (Refer to the Modules document for details.) Length...
READY state, and HRS (Heart Rate Service) will not be included in the BLE peripheral . See section 4.2 for more details. Note that this command will be overwritten to disable HR pairing if both ANT and BLE HR data receiving are disabled.
Byte # Name Length Description Fixed value of 10100100 or 10100101 Sync 1 byte (Refer to the Interfacing with ANT General Purpose Chipsets and Modules document for details.) Length 1 byte Set to 0x02 Message ID 1 byte Set to 0xE2 (command)
Byte # Name Length Description Fixed value of 10100100 or 10100101 Sync 1 byte (Refer to the Interfacing with ANT General Purpose Chipsets and Modules document for details.) Length 1 byte Set to 0x03 Message ID 1 byte Set to 0xE2 (command)
Byte # Name Length Description Fixed value of 10100100 or 10100101 Sync 1 byte (Refer to the Interfacing with ANT General Purpose Chipsets and Modules document for details.) Length 1 byte Set to 0x08 Message ID 1 byte Set to 0xE2 (command)
Page 51 of 117 Table 7-14. gfit_hrp_pair_to_device response message Byte # Name Length Description Fixed value of 10100100 or 10100101 Interfacing with ANT General Purpose Chipsets and Sync 1 byte (Refer to the Modules document for details.) Length 1 byte...
Valid State: READY, IN USE, FINISHED Table 7-15. gfit_hrp_disconnect_device command message Byte # Name Length Description Fixed value of 10100100 or 10100101 Interfacing with ANT General Purpose Chipsets and Sync 1 byte (Refer to the Modules document for details.) Length...
Valid State: This command can be issued in any state . Table 7-17. gfit_enter_bootloader command message Byte # Name Length Description Fixed value of 10100100 or 10100101 Interfacing with ANT General Purpose Chipsets and Sync 1 byte (Refer to the Modules document for details.) Length...
Default: 30 second in use advertising timeout. Table 7-19. gfit_fep_set_inuse_adv_timeout command message Byte # Name Length Description Fixed value of 10100100 or 10100101 Interfacing with ANT General Purpose Chipsets and Sync 1 byte (Refer to the Modules document for details.) Length...
Optionally, specifies controllable features to be enabled. Enabli ng controllable features will configure the capabilities reported on the ANT+ FE-C channel and on BLE FTMS, and an event will be generated by G.FIT when a message corresponding to that controllable feature is received over ANT/BLE. Disabling a controllable feature will result in the feature being reported as not supported in the capabilities, and received commands related to that feature will be automatically rejected (on BLE FTMS) or ignored (on ANT+) by G.FIT.
Note: If any controllable features are enabled, then both controllable features 1 and 2 must be included in the command. As per the requirements of the ANT+ FE -C device profile, ANT+ controllable features can only be applied to fitness equipment type ‘Trainer/Indoor Bike’. If controllable features are enabled for other fitness equipment types, control commands will be ignored when received over ANT+ but will be processed and will generate events when received over BLE.
Page 57 of 117 7.3.11 gfit_fep_set_XX_data (0xE1) When comparing the ANT+ FE-C profile and the BLE FTMS, there is quite a bit of variance in how the data is represented and transmitted over the air. More specifically, there are discrepancies between the units, ranges, and sizes of fields.
The heart rate metric will automatically update if there is an external ANT+ or BLE heart rate monitor connected to G.FIT. If no external ANT+ or BLE heart rate monitor is connected to G.FIT, the gfit_hrp_set_heart_rate serial command can be used to manually set the heart rate metric (see section 7.3.12).
G.FIT User Guide and Specification, Rev 2.0_Alpha.14 Page 59 of 117 7.3.11.1 Details on constructing the gfit_fep_set_XX_data serial message When the gfit_fep_set_XX_data payload (a series of pairs of a field ID followed by a field) is constructed, the fields must be represented using the appropriate length and encoded in little-endian. See Table 7-25 for the length of a field for a given field ID.
Page 60 of 117 G.FIT User Guide and Specification, Rev 2.0_Alpha.14 Set FE Metrics Example: Set Distance to 333 Set Speed to 1234 Set Cycle Length to 42 Message ID Field ID: Field ID: Field ID: Distance Speed Cycle Length Sub-Message ID Sync 0x0A 0xE2...
7.3.11.2 Fitness equipment type field IDs Table 7-26. Treadmill field IDs and field lengths Field Set value length Treadmill FE metric Input units (G.FIT) Output units (ANT) Output units (BLE) Field ID to invalid (bytes) Elapsed Time Seconds Quarter Seconds...
0xFF † To comply with the ANT+ FE-C profile, G.FIT enforces that if either instantaneous power or accumulated power is updated, that both instantaneous power and accumulated power be included in the same gfit_fep_set_XX_data serial command. When updating either field ID 42 or 43, if both field IDs 42 and 43 are not updated in the same serial message, G.FIT will return error: GFIT_ERROR_INVALID_BIKE_POWER_USAGE (0x13).
G.FIT User Guide and Specification, Rev 2.0_Alpha.14 Page 63 of 117 Table 7-28. Elliptical/cross trainer field IDs and field lengths Field length Elliptical/cross FE metric Input units (G.FIT) Output units (ANT) Output units (BLE) Field ID value to trainer (bytes) invalid...
Page 64 of 117 G.FIT User Guide and Specification, Rev 2.0_Alpha.14 Table 7-29. Rower field IDs and field lengths Field length Rower FE metric Input units (G.FIT) Output units (ANT) Output units (BLE) Field ID value to (bytes) invalid Elapsed Time...
† A cycle is defined as a one step taken with each foot, resulting in 1 cycle = 2 steps climbed. ‡ ANT+ FE-C climber specific page does not have vertical distance and will transmit inputted vertical distance as distance in data page 16.
Set Data Command: Update the current heart rate that the module is reporting on the ANT+ FE -C channel. This command will have no effect if there is an external ANT+ or BLE heart rate monitor connected to G.FIT. Valid State: READY, IN USE, FINISHED Table 7-31.
Setting the device ID does not affect the BLE M.A.C. address. Note that the device ID is set by default to the preloaded ANT ID. The ANT ID is guaranteed to be unique. In most cases the device ID should not be set through this command manually.
G.FIT User Guide and Specification, Rev 2.0_Alpha.14 Table 7-35. gfit_fep_set_device_id response message Byte # Name Length Description Fixed value of 10100100 or 10100101 Interfacing with ANT General Purpose Chipsets and Sync 1 byte (Refer to the Modules document for details.) Length...
Page 69 of 117 7.3.14 fe_command_product_info (0xE4) Set Data Command: Update the product information transmitted over the ANT+ data pages 80 and 81 (known as common data pages), and over the BLE Device Information Service and advertising packets. Valid State: OFF Table 7-36.
Table 7-38. Product information types and values Product information type Product information value Length Value Description Description (bytes) Manufacturer ID 0x00 ANT+ Manufacturer ID (assigned by ANT+ Alliance) (ANT+) Model Number 0x01 Model Number (defined by manufacturer) (ANT+) Hardware 0x02 Revision Hardware revision (defined by manufacturer).
Page 71 of 117 7.3.15 gfit_fep_send_command_update (0xE5) Control Command: Sends an update to a display over ANT+/BLE to indicate the success or failure of the last command received, e.g., received a command to set a target from the display, reset session, etc. This command shall be used by the application every time an event requiring a response is received.
G.FIT User Guide and Specification, Rev 2.0_Alpha.14 7.3.16 fe_command_status_update (0xE6) Control Command: Sends an update to a display over ANT+/BLE to indicate a status change after receiving a command or due to user interaction, e.g. , reset, a target has been updated (resistance, incline, etc.).
When a pending command is aborted using gfit_fep_abort_pending_commands: ANT+: The command status on requestable data page 71 is set to ‘Rejected’ BLE: Response sent over Fitness Machine Control Point with Response Value = ‘Op Code Not Supported’ Valid State: READY, IN USE, FINISHED Table 7-45.
Set Data Command: Configures the maximum applicable resistance in Newtons for the fitness equipment, transmitted only on ANT+ (data page 54). The equipment type must be configured before setting the maximum applicable resistance. This command is currently only supported by the ‘Trainer/Indoor Bike’...
Name Length Description Fixed value of 10100100 or 10100101 Sync 1 byte (Refer to the Interfacing with ANT General Purpose Chipsets and Modules document for details.) Length 1 byte Variable. Set to 0x02 + Command Parameter Length Message ID 1 byte...
Page 78
Set Status: Send this when the target speed is reached (speed status OK). It can also be sent any time after spin down calibration has started but before it completes, to update values reported over ANT and BLE. This command shall be sent after the target speed has been reached (speed status OK).
Bits 4- 7: Reserved for future use. Set to 0. 0x02 Cancel Spin Down Time (ms) 0x03 0xFFFFFFFF denotes invalid Complete This field is only transmitted over ANT+ 0x04 Request calibration 0x05 Cancel calibration request 0x06 Reject ignore...
Figure 7-10 and Figure 7-11 show the messaging that occurs if the FE application cancels an in-progress calibration. Figure 7-12 details a possible interaction where the FE App indicates that it needs calibration, the BLE display tries to cancel it but the cancelling fails. (This situation does not apply to ANT displays.) thisisant.com...
Stop Measuring Spin Down Time gfit_fep_spin_down (0xE9) Data Page 1 Type = Complete (0x03) Calibration Response Spin Down Time = 15 seconds Response = Success Display Result Fitness Equipment Data Figure 7-8. Example: Successful spin down calibration process (ANT) thisisant.com...
Page 82 of 117 G.FIT User Guide and Specification, Rev 2.0_Alpha.14 BLE DISPLAY FE APPLICATION Indoor Bike Data Calibration Required gfit_fep_spin_down (0xE9) Type = Request Calibration (0x04) FTM Status Op Code = Spin Down Status Parameter = Spin Down Requested User Initiates Calibration Fitness Machine Control Point...
(0xE9) Data Page 1 Type = Cancel (0x06) Calibration Response = Fail Display Result Figure 7-10. Example: Cancelled spin down calibration process (ANT) BLE DISPLAY FE APPLICATION User Initiates Calibration Fitness Machine Control Point Op Code = SpinDown Control...
Page 84 of 117 G.FIT User Guide and Specification, Rev 2.0_Alpha.14 Figure 7-11. Example: Cancelled spin down calibration process (BLE) BLE DISPLAY FE APPLICATION Calibration Indoor Bike Data Required gfit_fep_spin_down (0xE9) Type = Request Calibration (0x04) Indoor Bike Data FTM Status OpCode = Spin Down Status Parameter = Spin Down Requested User decides not to...
G.FIT User Guide and Specification, Rev 2.0_Alpha.14 Page 85 of 117 7.3.20 gfit_fep_send_custom_event (0xB0) Command: Instruct the module to send an event to the display over the ANT+ FE -C channel and over BLE, using the G.FIT Custom Service. Valid State: READY, IN USE, FINISHED Table 7-52.
ANT+ FE-C. This command should only be called once per channel period of the ANT+ FE -C channel; the application can use the EVENT_TX as cue to send the manufacturer specific page, or send the command based on asynchronous events (e.g.
Byte # Name Length Description Fixed value of 10100100 or 10100101 Sync 1 byte (Refer to the Interfacing with ANT General Purpose Chipsets and Modules document for details.) Length 1 byte Set to 0x02 Message ID 1 byte Set to 0xE2 (command)
Default: Security Level 2 Table 7-58. gfit_fep_set_developer_options command message Byte # Name Length Description Fixed value of 10100100 or 10100101 Interfacing with ANT General Purpose Chipsets and Sync 1 byte (Refer to the Modules document for details.) Length 1 byte...
To request the version number from G.FIT, use the request version number message. Table 7-60. gfit_get_version_string request message Byte # Name Length Description Fixed value of 10100100 or 10100101 Interfacing with ANT General Purpose Chipsets and Sync 1 byte (Refer to the Modules document for details.) Length...
Page 90
Page 90 of 117 G.FIT User Guide and Specification, Rev 2.0_Alpha.14 7.4.1.1 Version Numbering Version numbers in GFIT will be formatted as: [Major].[Minor][Build Version Letter][Build Version Number] . The version string can be retrieved from the library by calling gfit_get_version_string() API or it can be retrieved from the NP by issuing a serial request (0xE1) for the version s tring (0xC0).
Length of the BLE friendly name BLE Friendly 1 byte 0x00 indicates no name Name Length If the protocol is ANT, this will be set to 0x00 BLE Friendly 14 – N N bytes BLE friendly name (maximum of 20 bytes).
Display HR Device B Page 92 of 117 G.FIT User Guide and Specification, Rev 2.0_Alpha.14 7.5.1.1 Handling HR events 7.5.1.1.1 Proximity pairing mode FE APPLICATION HR Monitors (In Proximity) OFF State FE Turned On Broadcasting/Advertising Configure G.FIT (Proximity Pairing Mode) Transition to READY Display Searching READY State...
Device B G.FIT User Guide and Specification, Rev 2.0_Alpha.14 Page 93 of 117 7.5.1.1.2 List Pairing Mode FE APPLICATION HR Monitors OFF State FE Turned On Broadcasting/Advertising Configure G.FIT (List Pairing Mode) Transition to READY Begin Displaying READY State HR Monitor List HR Device A HR Message (Scan) Device ID: A Display Device A...
Page 94 of 117 G.FIT User Guide and Specification, Rev 2.0_Alpha.14 FE APPLICATION HR Monitors READY / IN USE / FINISHED (Scanning) State Display HR from Device B HR Device B HR Message (Paired) Device ID: B HR Message (Paired) Device ID: B User Chooses to Disconnect HR HR Device B...
Table 7-63. Session command event message Byte # Name Length Description Fixed value of 10100100 or 10100101 Sync 1 byte (Refer to the Interfacing with ANT General Purpose Chipsets and Modules document for details.) Length 1 byte 0x02 Message ID 1 byte 0xE0 (event)
G.FIT User Guide and Specification, Rev 2.0_Alpha.14 7.5.3 gfit_event_set_target_ (0xB5) Event: An event that is sent to the MCU when G.FIT receives commands over ANT+ or BLE FTMS to set a target for the session. Requires Response: Yes, see section 4.4.2.
Page 97 of 117 7.5.4 gfit_event_set_simulation_parameters (0xB6) Event: An event that is sent to the MCU when G.FIT receives simulation paramete rs over ANT+ or BLE FTMS. Requires Response: Yes, see section 4.4.2. Depends on Controllable Feature: Bike Simulation Table 7-66. gfit_event_set_simulation_parameters event message...
G.FIT User Guide and Specification, Rev 2.0_Alpha.14 7.5.5 gfit_event_set_user_data (0xB7) Event: An event that is sent to the MCU when G.FIT receives user data over ANT+ or BLE (FTMS/G.FIT Custom Service), for use in simulation mode. Requires Response: Yes, see section 4.4.2.
Page 99 of 117 7.5.6 Spin down Calibration Event (0xB8) Event: An event that is sent to the MCU when G.FIT receives spin down calibration commands over ANT+ or BLE FTMS. Requires Response: Yes, see section 7.3.19. Depends on Controllable Feature: Spin Down Calibration Corresponding G.FIT library functions: gfit_event_start_spin_down, gfit_event_ignore_spin_down, and...
Requires Response: No. Table 7-69. gfit_event_entering_bootloader event message Byte # Name Length Description Fixed value of 10100100 or 10100101 Interfacing with ANT General Purpose Chipsets and Sync 1 byte (Refer to the Modules document for details.) Length 1 byte...
Table 7-71. gfit_event_custom event message Byte # Name Length Description Fixed value of 10100100 or 10100101 Sync 1 byte (Refer to the Interfacing with ANT General Purpose Chipsets and Modules document for details.) Length 1 byte 0x07 Message ID 1 byte 0xE0 (event)
Read ANT ID The ANT ID can be retrieved from the module using a serial command if the stock fir mware is present. To do so, a Request Message (0x4D) must be sent. In the SoC library the ANT ID may be retrieved by reading the 32-bit value: NRF_UICR->CUSTOMER[GFIT_UICR_CUST_ANT_ID_OFFSET]...
Page 103 of 117 7.6.2 RSSI calibration offset Used to obtain the 1-byte calibration offset from G.FIT. In the SoC library the ANT ID may be retrieved by reading the 32-bit value: NRF_UICR->CUSTOMER[GFIT_UICR_CUST_RSSI_CAL_OFFSET] Table 7-74. RSSI calibration offset message Byte #...
Distribution Agreement for the G.FIT Module is completed, SoftDevice royalties will be waived for each instance of ANT SoftDevice used within a G.FIT module for com mercial end product. Further information about licensing can be found at: www.thisisant.com/developer/ant/licensing.
G.FIT User Guide and Specification, Rev 2.0_Alpha.14 Page 105 of 117 A.1.2 Compiler compatibility The G.FIT static library is built with GNU ARM Embedded Toolchain version 4.9 2015q3 , available at: https://launchpad.net/gcc-arm-embedded/4.9/4.9-2015-q3-update. It uses the settings in Table A-1. See example application Makefile for further details. Table A-1.
Note: The ANT USB Interface Board drivers are unsigned. Systems that require signed drivers for installation (e.g. Windows 8, Windows 10) are required to boo t with driver signature enforcement disabled to complete the installation process.
Page 107
G.FIT User Guide and Specification, Rev 2.0_Alpha.14 Page 107 of 117 Figure B-3. Driver installation success Connect the G.FIT module to the USB interface board and insert into a USB port. Figure B-4. G.FIT module mounted on a USB interface board The Driver Software Installation wizard should pop up and begin a search for drivers;...
Page 108 of 117 G.FIT User Guide and Specification, Rev 2.0_Alpha.14 Basic operation This section provides a high-level description of how to operate the fitness equipment console simulator . It may be useful to reference section 4.1 (Fitness Equipment States), when reading this basic operation section. Start by opening the application (FitnessEquipmentSimulator.exe) .
Page 109
G.FIT User Guide and Specification, Rev 2.0_Alpha.14 Page 109 of 117 B.3.1.1 G.FIT This shows which G.FIT module the simulator is connected to. If there is more than one G.FIT module connected to the computer, then select which module to use. B.3.1.2 Equipment type This setting determines which type of fitness equipment is simulated.
Turning on the console puts it into FE state READY. This has the following effects: Turns on the ANT+ FE-C channel Begins searching for ANT+ heart rate monitors Begins searching for BLE heart rate monitors Turns on the BLE FTMS peripheral B.3.3...
Figure B-10. Indicator for a connected heart rate monitor The current heart rate monitor data is displayed on the console display. The user is given information on their current heart rate, the type of heart rate monitor being used (ANT/BLE), the device ID, an d the RSSI. B.3.5...
Sending commands to a leaderboard These are custom messages that are sent from the simulated console to the leaderboard and are not part of the ANT+ FE-C profile. Request water Press the Water button to trigger the water request. Press the Water button again to cancel the water request.
To get the correct font formatting within the table, apply the ‘ANT Table Header’, ‘ANT Table Text Left’ and ‘ANT Table Text Center’ styles. If a table does not have the correct shading, apply th e table style ‘Striped Table’.
Use this style for instruction steps. The style is called ANT Instructions one and is based on the custom multi-level list ‘Instruction steps’. As with all ANT styles you can find it in the style pane; or copy & paste from here.
G.FIT User Guide and Specification, Rev 2.0_Alpha.14 Page 115 of 117 Notes, bold text, italicized text, and document names Formatting can be used to communicate extra information about what you’re saying. For example, really important information that you don’t want readers to miss should be styled with ‘Strong’. Note: The ‘Strong’...
Page 116 of 117 G.FIT User Guide and Specification, Rev 2.0_Alpha.14 Second ‘Heading 1’ heading Each top-level heading will automatically start on a new page. No need to add page breaks. Appendices use the styles ‘Appendix H1,2,3, or 4’ as the heading levels. thisisant.com...
G.FIT User Guide and Specification, Rev 2.0_Alpha.14 Page 117 of 117 Appendix C - Sample appendix title Use style Appendix H1 for top level headings. Appendix H2 Blah blah blah C.1.1 Appendix H3 Blah C.1.1.1 Appendix H4 Lbsfh Table and Figure captions for use in Appendi ces Copy and paste this caption for tables in the appendix, then edit as needed.
Need help?
Do you have a question about the Garmin G.FIT and is the answer not in the manual?
Questions and answers