A vote is not a reading. Three angle-of-attack sources of one quantity, each with its value and its membership of the set, the rule the vote runs by, and the output labelled with that rule and the channels it came from. A rejected channel stays on screen, marked, with its distance from the vote and the count of its miscompares, because a rejection that is silent is a source that simply vanishes. Two left that disagree have no majority and no average. On XL888T two blocked sensors outvoted the one still moving, and BEA records that "this vote is not apparent for the pilots".
import 'overscan'
import 'overscan/overscan.css'
<ov-quorum
class="liveel"
label="AOA"
unit="°"
channels="ADR 1, ADR 2, ADR 3"
tolerance="1.5"
fail-after="3"
></ov-quorum>import { OvQuorum } from 'overscan/react'
<OvQuorum
class="liveel"
label="AOA"
unit="°"
channels="ADR 1, ADR 2, ADR 3"
tolerance="1.5"
fail-after="3"
/>import { OvQuorum } from 'overscan/vue'
<OvQuorum
class="liveel"
label="AOA"
unit="°"
channels="ADR 1, ADR 2, ADR 3"
tolerance="1.5"
fail-after="3"
/>import OvQuorum from 'overscan/svelte/OvQuorum.svelte'
<OvQuorum
class="liveel"
label="AOA"
unit="°"
channels="ADR 1, ADR 2, ADR 3"
tolerance="1.5"
fail-after="3"
/>import 'overscan'
import 'overscan/overscan.css'
<ov-quorum
src="models/quorum-agree.json"
label="AOA"
unit="°"
channels="ADR 1, ADR 2, ADR 3"
tolerance="1.5"
fail-after="3"
></ov-quorum>import { OvQuorum } from 'overscan/react'
<OvQuorum
src="models/quorum-agree.json"
label="AOA"
unit="°"
channels="ADR 1, ADR 2, ADR 3"
tolerance="1.5"
fail-after="3"
/>import { OvQuorum } from 'overscan/vue'
<OvQuorum
src="models/quorum-agree.json"
label="AOA"
unit="°"
channels="ADR 1, ADR 2, ADR 3"
tolerance="1.5"
fail-after="3"
/>import OvQuorum from 'overscan/svelte/OvQuorum.svelte'
<OvQuorum
src="models/quorum-agree.json"
label="AOA"
unit="°"
channels="ADR 1, ADR 2, ADR 3"
tolerance="1.5"
fail-after="3"
/>import 'overscan'
import 'overscan/overscan.css'
<ov-quorum
src="models/quorum-outvoted.json"
label="AOA"
unit="°"
channels="ADR 1, ADR 2, ADR 3"
tolerance="1.5"
fail-after="3"
></ov-quorum>import { OvQuorum } from 'overscan/react'
<OvQuorum
src="models/quorum-outvoted.json"
label="AOA"
unit="°"
channels="ADR 1, ADR 2, ADR 3"
tolerance="1.5"
fail-after="3"
/>import { OvQuorum } from 'overscan/vue'
<OvQuorum
src="models/quorum-outvoted.json"
label="AOA"
unit="°"
channels="ADR 1, ADR 2, ADR 3"
tolerance="1.5"
fail-after="3"
/>import OvQuorum from 'overscan/svelte/OvQuorum.svelte'
<OvQuorum
src="models/quorum-outvoted.json"
label="AOA"
unit="°"
channels="ADR 1, ADR 2, ADR 3"
tolerance="1.5"
fail-after="3"
/>import 'overscan'
import 'overscan/overscan.css'
<ov-quorum
src="models/quorum-nomajority.json"
label="AOA"
unit="°"
channels="ADR 1, ADR 2, ADR 3"
tolerance="1.5"
fail-after="3"
></ov-quorum>import { OvQuorum } from 'overscan/react'
<OvQuorum
src="models/quorum-nomajority.json"
label="AOA"
unit="°"
channels="ADR 1, ADR 2, ADR 3"
tolerance="1.5"
fail-after="3"
/>import { OvQuorum } from 'overscan/vue'
<OvQuorum
src="models/quorum-nomajority.json"
label="AOA"
unit="°"
channels="ADR 1, ADR 2, ADR 3"
tolerance="1.5"
fail-after="3"
/>import OvQuorum from 'overscan/svelte/OvQuorum.svelte'
<OvQuorum
src="models/quorum-nomajority.json"
label="AOA"
unit="°"
channels="ADR 1, ADR 2, ADR 3"
tolerance="1.5"
fail-after="3"
/>