Beschreibung
SmO2 Control: Steady-State Intensity Monitor
A data field for the Moxy muscle oxygen sensor. One question, in real time: am I in steady state, or is saturation still drifting down?
The problem with absolute values
"SmO2 = 34 %" does not help you. The number depends on sensor site, adipose thickness, strap pressure and day form. What is informative is the kinetics: how fast saturation falls at onset, whether it plateaus, how quickly it recovers.
Five states, five colours
ONSET (orange): rapid desaturation, the on-transient at interval start
FALLING (red): the decline continues, no steady state exists here
DRIFTING (yellow): slow decline, demanding but still controlled
HOLDING (green): flat, supply matches demand, a sustainable steady state
RECOVER (blue): rising, recovery or the effort is too easy
The kinetic terms (ON-KIN, OVER, CONTROL, STEADY, REOXY) are one setting away. Zone numbers are absent on purpose: a zone claims an intensity, this field measures a slope.
ONSET versus FALLING is the distinction that matters. Every hard interval begins with a steep fall, and that is not yet a verdict: what separates a sustainable interval from an overcooked one is whether a plateau follows.
Nothing to calibrate
The verdict comes from the slope, not the level, so it does not depend on sensor site, strap pressure or day form. Put the sensor on, start, and it works within a minute.
Adaptive display
Full screen: the value with MIN / AVG / MAX as a labelled cell grid above the chart, the state light with its name, the rate and the load below it. On a bike computer the rows sit on the edges and the chart takes the rest. State-coloured segments with the area beneath filled, gridlines, lap markers, forecast needle.
The MIN / AVG / MAX row and the state light can each be switched off, which leaves one big number over the chart and one or two under it.
Every smaller field is configurable: the light alone, the light with one or two numbers, or numbers only, with the metric named above it in small type, the way a stock Garmin field names its number. Any metric fits any slot: SmO2, rate, THb, Control Index as per cent or ratio.
The rate reads in %/s or %/min, MIN/MAX and AVG cover the session or the lap, and the light carries a symbol so the verdict never rests on hue alone, plus a colour-blind palette. The session range relaxes slowly against outliers; a double lap press resets it after re-seating the sensor.
Decoupling detection
If the load holds steady while saturation keeps falling, the field flags decoupling: fatigue or efficiency loss, invisible in either signal alone.
Recording for post-analysis
Every second to the FIT file: smoothed SmO2, slope, state, THb. Every lap: desaturation rate, Control Index as amplitude and ratio, on-kinetics slope, min and max. Charted in Garmin Connect.
The Control Index follows the work of Dr. Daniel Kane, Associate Professor in the Department of Human Kinetics at St. Francis Xavier University in Antigonish, Nova Scotia.
Important before first use
The Moxy must not also be paired natively in the watch's sensor list. Muscle oxygenation was never part of the native Connect IQ sensor API, so this field opens its own ANT channel, and a sensor holds only one: whichever side claims it first blocks the other.
Invalid readings and ambient-light warnings count as "no data", never as 0 %. On a dropout the trend freezes rather than inventing a slope, and the channel retries every 60 seconds.
Configurable
Sensor ID, smoothing, forecast horizon, steady-state window, both thresholds, chart window, y axis, state naming, symbols, every value slot, rate unit, colour-blind mode, load, FIT.
The repository includes a tool that runs the same computation offline on your own .fit files, to tune against intervals you know the answer to.
Requirements
A Moxy or other ANT+ Muscle Oxygen sensor and a Garmin with ANT+: Forerunner 245 Music-970, Fenix 6 Pro-8, Epix Gen 2, Enduro 2/3, MARQ Gen 2, Edge 530-1050.
Neuerungen
Fixed: after a dropout, the field could fail to find the Moxy again for the rest of the activity. It then showed the last value indefinitely, the chart stayed empty and MIN, AVG and MAX stopped changing. The field now reconnects reliably.
Without new readings, the last value stays on screen for at most 8 seconds and is then replaced by --, so a frozen reading no longer looks like a steady one.
New: a NO SIG status appears when the sensor is connected but not delivering a valid reading, for example with a loose strap or sunlight under the cover.
Chart: the area under the trace is drawn far more efficiently, which takes load off the watch, especially while streaming music over Bluetooth. The line from the last sample to the forecast marker has been removed.
Screenshots
Unterstützte Sprache (1)
Kompatible Geräte (79)
D2™ Mach 1 Pro
Edge® 1030
Edge® 1030
Edge® 1030 Plus
Edge® 1030 Plus
Edge® 1040
Edge® 1040
Edge® 1050
Edge® 530
Edge® 530
Edge® 540
Edge® 550
Edge® 830
Edge® 830
Edge® 840
Edge® 850
Enduro™ 2
Enduro™ 3
epix™ (Gen 2)
epix™ (Gen 2)
epix™ Pro (42mm)
epix™ Pro (47mm)
epix™ Pro (51mm)
fēnix® 6 Pro
fēnix® 6 Pro
fēnix® 6 Pro Dual Power
fēnix® 6 Pro Solar
fēnix® 6S Pro
fēnix® 6S Pro
fēnix® 6S Pro Dual Power
fēnix® 6S Pro Solar
fēnix® 6X Pro
fēnix® 6X Pro
fēnix® 7
fēnix® 7
fēnix® 7 Pro
fēnix® 7 Pro – Solar Edition (No Wi-Fi®)
fēnix® 7S
fēnix® 7S
fēnix® 7S Pro
fēnix® 7X
fēnix® 7X
fēnix® 7X Pro
fēnix® 7X Pro No Wi-Fi
fēnix® 8 AMOLED (43mm)
fēnix® 8 AMOLED (47mm/51mm)
fēnix® 8 Pro
fēnix® 8 Solar (47mm)
fēnix® 8 Solar (51mm)
ForeAthlete 245 Music
ForeAthlete 645 Music
ForeAthlete 745
Forerunner® 245 Music
Forerunner® 245 Music
Forerunner® 255
Forerunner® 255 Music
Forerunner® 255S
Forerunner® 255S Music
Forerunner® 265
Forerunner® 265S
Forerunner® 570 - 42mm
Forerunner® 570 - 47mm
Forerunner® 645 Music
Forerunner® 745
Forerunner® 945
Forerunner® 945
Forerunner® 945 LTE
Forerunner® 955 Dual Power
Forerunner® 965
Forerunner® 970
MARQ® (Gen 2)
MARQ® Commander (Gen 2) – Carbon Edition
MARQ™ Aviator (Gen 2)
quatix® 6
quatix® 6X
tactix® 7
tactix® 7 – AMOLED Edition
tactix® 8 – 47 mm, AMOLED
tactix® 8 – 51 mm, Solar