Skip to content
design
Components

Instrument check

The installer's check of every source bosun reads, each with its live value, its verdict and what to check.

On this page

3 of 6 receiving

  • GPS fix NMEA 2000 · Garmin GPS 24xd
    50° 45.912′ N 001° 17.964′ W
    Position
    Receiving
  • Heading NMEA 2000 · Airmar Precision-9
    214
    HDG
    °
    Receiving
  • Depth NMEA 2000 · Airmar DST810
    Nothing for 45 s

    Check that the instrument display is on: the transducer sends through it.

  • Wind
    Not received

    Check the masthead unit's cable at the mast foot, and that its network spur has power.

  • AIS NMEA 2000
    Listening
  • Engine NMEA 2000 · Yanmar 4JH57
    1850
    RPM
    rpm
    Receiving
  • Radar
    Not fitted
Commissioning: three sources arriving, one stopped, one not received, one listening, no radar.
Code
import { InstrumentCheck } from "@bosunkit/components/instrument-check";
import { Reading } from "@bosunkit/components/reading";
import type { ReactElement } from "react";

export const description: string =
  "Commissioning a Hanse 460: the GPS, heading and engine arriving, the depth stopped, the wind not received, the AIS " +
  "listening, and no radar fitted, with what to check beside each source that is not arriving.";

export default function Showcase(): ReactElement {
  return (
    <InstrumentCheck
      items={[
        {
          id: "gps",
          name: "GPS fix",
          source: "NMEA 2000 · Garmin GPS 24xd",
          verdict: "receiving",
          reading: <Reading value="50° 45.912′ N 001° 17.964′ W" label="Position" />,
        },
        {
          id: "heading",
          name: "Heading",
          source: "NMEA 2000 · Airmar Precision-9",
          verdict: "receiving",
          reading: <Reading value={214} unit="°" label="HDG" maxDigits={3} />,
        },
        {
          id: "depth",
          name: "Depth",
          source: "NMEA 2000 · Airmar DST810",
          verdict: "stale",
          ageSeconds: 45,
          advice: "Check that the instrument display is on: the transducer sends through it.",
        },
        {
          id: "wind",
          name: "Wind",
          verdict: "missing",
          advice: "Check the masthead unit's cable at the mast foot, and that its network spur has power.",
        },
        { id: "ais", name: "AIS", source: "NMEA 2000", verdict: "waiting" },
        {
          id: "engine",
          name: "Engine",
          source: "NMEA 2000 · Yanmar 4JH57",
          verdict: "receiving",
          reading: <Reading value={1850} unit="rpm" label="RPM" />,
        },
        { id: "radar", name: "Radar", verdict: "not-fitted" },
      ]}
    />
  );
}

The instrument check is the commissioning step where the installer sees what the box actually receives: a row for each source bosun reads, with its name, where it comes from, its live value as a reading, and its verdict. A source is receiving, stopped (with how long it has sent nothing), not received, listening for its first message, or not fitted on this vessel. While a source is not receiving, its row says what to check, in the installer's terms. A count heads the list: the sources receiving out of those fitted, so a source the vessel does not have never counts against her.

The verdicts are what the box sees, never a timer, and they come from bosund with the readings. A source that is not sending is a finding to fix during setup, not an alarm, so the verdicts take the notification marks and colors (a green check, a dim eye, a dim cross), never an alert's shape or red. Nothing in the list moves on its own: a verdict changes when the data does. On a narrow screen the verdict and the reading move under the source's name.

Examples

Every source arriving

4 of 4 receiving

  • GPS fix NMEA 2000
    Receiving
  • Heading NMEA 2000
    Receiving
  • Depth NMEA 2000
    Receiving
  • Wind NMEA 2000
    Receiving
  • Radar
    Not fitted
Every fitted source arriving: the count is whole, and no row asks for a check.
Code
import { InstrumentCheck } from "@bosunkit/components/instrument-check";
import type { ReactElement } from "react";

export const description: string = "Every fitted source arriving: the count is whole, and no row asks for a check.";

export default function AllReceiving(): ReactElement {
  return (
    <InstrumentCheck
      items={[
        { id: "gps", name: "GPS fix", source: "NMEA 2000", verdict: "receiving" },
        { id: "heading", name: "Heading", source: "NMEA 2000", verdict: "receiving" },
        { id: "depth", name: "Depth", source: "NMEA 2000", verdict: "receiving" },
        { id: "wind", name: "Wind", source: "NMEA 2000", verdict: "receiving" },
        { id: "radar", name: "Radar", verdict: "not-fitted" },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
itemsrequiredreadonly InstrumentCheckItem[]–The sources, in the order the installer checks them.
testIdstring | undefined–Becomes data-testid on the root.
classNamestring | undefined–Classes added to the root's own.