@openattitude/steam-engine-senecaii
v0.1.0
Published
Steam-style SenecaII engine strip (ALT/CHT/oil/fuel) for OpenAttitude
Readme
@openattitude/steam-engine-senecaii
Copyright (c) Torsten Dreyer ([email protected]). SPDX-License-Identifier: LGPL-3.0-or-later.
Horizontal engine strip (1100×128 SVG): five vertical bar gauges on one face—
- Alternator / bus current (A)
- CHT (°F)
- Oil temperature (°F)
- Oil pressure (PSI)
- Fuel quantity (US gal)
Each bar rotates about a fixed pivot encoded in the component; values map through separate piecewise-linear tables.
Installation
npm install @openattitude/steam-engine-senecaii @openattitude/core vuePeers: vue ^3.5. installPanelMath() required (Math.interpolate per channel).
Export
EngineInstruments
Props
| Prop | Type | Default | Description |
|------|------|---------|-------------|
| busCurrentA | number \| null | null | Electrical bus load (A); FG .../bus/element[n]/i-style quantity. |
| chtDegF | number \| null | null | Cylinder head temperature (°F). |
| oilTempDegF | number \| null | null | Oil temperature (°F). |
| oilPressurePsi | number \| null | null | Oil pressure (PSI). |
| fuelLevelGalUs | number \| null | null | Fuel level (US gal). |
All nulls interpolate as 0 in the current implementation.
Layout: Designed as a wide strip; host panels should assign width/height via CSS (e.g. flex or fixed aspect) so the viewBox scales cleanly.
Usage
<script setup lang="ts">
import { EngineInstruments } from '@openattitude/steam-engine-senecaii';
</script>
<template>
<EngineInstruments
:bus-current-a="busI"
:cht-deg-f="cht"
:oil-temp-deg-f="oilT"
:oil-pressure-psi="oilP"
:fuel-level-gal-us="fuelGal"
/>
</template>Development
npm run dev:testbed --workspace=@openattitude/steam-engine-senecaii
npm run test --workspace=@openattitude/steam-engine-senecaii
npm run build --workspace=@openattitude/steam-engine-senecaii