Carrier lock is not data. A downlink is acquired in order: pointing, carrier, subcarrier, symbols, frame sync, decode, and each rung depends on every rung above it. The ladder says RECEIVING DATA only when every rung through decode is locked, and otherwise says how far the lock goes. A rung is LOCKED only when its lock detector declares it and not inside its first detection period; a rung that reports lock under one that has none is not believed and not lit.
import 'overscan'
import 'overscan/overscan.css'
<ov-ladder id="live-ladder"></ov-ladder>import { OvLadder } from 'overscan/react'
<OvLadder id="live-ladder" />import { OvLadder } from 'overscan/vue'
<OvLadder id="live-ladder" />import OvLadder from 'overscan/svelte/OvLadder.svelte'
<OvLadder id="live-ladder" />import 'overscan'
import 'overscan/overscan.css'
<ov-ladder src="models/ladder-data.json"></ov-ladder>import { OvLadder } from 'overscan/react'
<OvLadder src="models/ladder-data.json" />import { OvLadder } from 'overscan/vue'
<OvLadder src="models/ladder-data.json" />import OvLadder from 'overscan/svelte/OvLadder.svelte'
<OvLadder src="models/ladder-data.json" />import 'overscan'
import 'overscan/overscan.css'
<ov-ladder src="models/ladder-carrier.json"></ov-ladder>import { OvLadder } from 'overscan/react'
<OvLadder src="models/ladder-carrier.json" />import { OvLadder } from 'overscan/vue'
<OvLadder src="models/ladder-carrier.json" />import OvLadder from 'overscan/svelte/OvLadder.svelte'
<OvLadder src="models/ladder-carrier.json" />import 'overscan'
import 'overscan/overscan.css'
<ov-ladder src="models/ladder-undeclared.json"></ov-ladder>import { OvLadder } from 'overscan/react'
<OvLadder src="models/ladder-undeclared.json" />import { OvLadder } from 'overscan/vue'
<OvLadder src="models/ladder-undeclared.json" />import OvLadder from 'overscan/svelte/OvLadder.svelte'
<OvLadder src="models/ladder-undeclared.json" />