2020-04-09 23:09:33 -06:00
|
|
|
|
<!DOCTYPE html>
|
|
|
|
|
<html>
|
2020-05-01 15:07:09 -06:00
|
|
|
|
<head>
|
|
|
|
|
<title>Vail</title>
|
|
|
|
|
<meta charset="utf-8">
|
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
|
|
|
|
2022-05-08 11:33:25 -06:00
|
|
|
|
<!-- Bulma CSS -->
|
|
|
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.3/css/bulma.min.css">
|
|
|
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@mdi/font@6.5.95/css/materialdesignicons.min.css">
|
2022-05-28 20:39:20 -06:00
|
|
|
|
|
2020-05-01 15:07:09 -06:00
|
|
|
|
<!-- Vail stuff -->
|
2020-05-26 20:52:48 -06:00
|
|
|
|
<link rel="manifest" href="manifest.json">
|
|
|
|
|
<link rel="icon" href="vail.png" sizes="256x256" type="image/png">
|
|
|
|
|
<link rel="icon" href="vail.svg" sizes="any" type="image/svg+xml">
|
2021-04-26 16:09:03 -06:00
|
|
|
|
<script type="module" src="vail.mjs"></script>
|
2022-05-14 18:51:05 -06:00
|
|
|
|
<script type="module" src="ui.mjs"></script>
|
2020-05-01 15:07:09 -06:00
|
|
|
|
<link rel="stylesheet" href="vail.css">
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
2022-05-14 18:51:05 -06:00
|
|
|
|
<nav class="navbar is-dark">
|
2022-05-08 11:33:25 -06:00
|
|
|
|
<div class="navbar-brand">
|
|
|
|
|
<a class="navbar-item">
|
2022-05-28 20:39:20 -06:00
|
|
|
|
<img class="" src="vail.svg" alt="">
|
2022-05-14 18:51:05 -06:00
|
|
|
|
<div class="block">Vail</div>
|
2022-05-08 11:33:25 -06:00
|
|
|
|
</a>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="navbar-menu">
|
|
|
|
|
<div class="navbar-end">
|
2022-05-15 10:46:51 -06:00
|
|
|
|
<a class="navbar-item" href="https://discord.gg/GBzj8cBat7" target="_blank" title="Text/voice chat on Discord"><i class="mdi mdi-discord"></i></a>
|
|
|
|
|
<a class="navbar-item" href="https://github.com/nealey/vail/wiki" target="_blank" title="Vail Wiki">Help</a>
|
2020-05-01 15:07:09 -06:00
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2022-05-08 11:33:25 -06:00
|
|
|
|
</nav>
|
2022-05-14 18:51:05 -06:00
|
|
|
|
|
2022-05-08 11:33:25 -06:00
|
|
|
|
<section class="section">
|
2022-05-28 20:39:20 -06:00
|
|
|
|
<div class="columns is-multiline">
|
2022-05-14 18:51:05 -06:00
|
|
|
|
<div class="column">
|
|
|
|
|
<div class="box" id="transciever">
|
|
|
|
|
<div class="level">
|
|
|
|
|
<div class="level-left">
|
|
|
|
|
<div class="level-item">
|
2022-05-28 20:39:20 -06:00
|
|
|
|
<h1 class="title">Repeater</h1>
|
2021-04-27 12:42:06 -06:00
|
|
|
|
</div>
|
2022-05-14 18:51:05 -06:00
|
|
|
|
</div>
|
|
|
|
|
<div class="level-right">
|
|
|
|
|
<div class="level-item">
|
|
|
|
|
<!-- This appears as a little light that turns on when someone's sending -->
|
|
|
|
|
<span class="tag" id="recv">
|
|
|
|
|
<output class="has-text-info" id="note"></output>
|
|
|
|
|
<i class="mdi mdi-volume-off" id="muted"></i>
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2022-04-24 17:13:56 -06:00
|
|
|
|
</div>
|
|
|
|
|
|
2022-05-28 20:39:20 -06:00
|
|
|
|
<div class="block is-flex">
|
|
|
|
|
<input class="input" type="text" id="repeater" list="repeater-list">
|
|
|
|
|
<datalist id="repeater-list"></datalist>
|
|
|
|
|
<div class="dropdown is-right is-hoverable">
|
|
|
|
|
<div class="dropdown-trigger">
|
|
|
|
|
<button class="button" aria-haspopup="true" aria-controls="stock-repeaters">
|
|
|
|
|
<span class="icon is-small">
|
|
|
|
|
<i class="mdi mdi-chevron-down" aria-hidden="true"></i>
|
|
|
|
|
</span>
|
|
|
|
|
</button>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="dropdown-menu" id="stock-repeaters" role="menu">
|
|
|
|
|
<div class="dropdown-content">
|
|
|
|
|
<a class="dropdown-item" data-value="">General</a>
|
|
|
|
|
<a class="dropdown-item" data-value="1">Channel 1</a>
|
|
|
|
|
<a class="dropdown-item" data-value="2">Channel 2</a>
|
|
|
|
|
<a class="dropdown-item" data-value="3">Channel 3</a>
|
|
|
|
|
<hr class="dropdown-divider">
|
|
|
|
|
<a class="dropdown-item" data-value="Null">Null (no transmit)</a>
|
|
|
|
|
<a class="dropdown-item">Echo</a>
|
|
|
|
|
<a class="dropdown-item">Fortunes</a>
|
|
|
|
|
<a class="dropdown-item">Fortunes: Pauses ×2</a>
|
|
|
|
|
<a class="dropdown-item">Fortunes: Pauses ×4</a>
|
|
|
|
|
<a class="dropdown-item">Fortunes: Pauses ×8</a>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
2022-05-14 18:51:05 -06:00
|
|
|
|
<div class="block">
|
|
|
|
|
<div class="" id="charts">
|
|
|
|
|
<canvas class="chart" id="rxChart" data-color="orange"></canvas>
|
|
|
|
|
<canvas class="chart" id="txChart" data-color="teal"></canvas>
|
|
|
|
|
<canvas class="chart" id="key0Chart" data-color="olive"></canvas>
|
|
|
|
|
<canvas class="chart" id="key1Chart" data-color="purple"></canvas>
|
2020-05-01 15:07:09 -06:00
|
|
|
|
</div>
|
2022-05-14 18:51:05 -06:00
|
|
|
|
</div>
|
2022-05-28 20:39:20 -06:00
|
|
|
|
|
2022-05-14 18:51:05 -06:00
|
|
|
|
<div class="block">
|
|
|
|
|
<table class="wide">
|
|
|
|
|
<tr>
|
|
|
|
|
<td>
|
|
|
|
|
<button class="button key is-primary" data-key="0" title="right click for Key">
|
|
|
|
|
Key
|
|
|
|
|
</button>
|
|
|
|
|
<div class="shortcuts">
|
|
|
|
|
<kbd title="keyboard button">.</kbd>
|
|
|
|
|
<kbd title="keyboard button">x</kbd>
|
2022-05-08 11:33:25 -06:00
|
|
|
|
<i class="mdi mdi-gamepad-circle-left" title="Gamepad Left Button"></i>
|
2022-05-14 18:51:05 -06:00
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
<button class="button key is-primary" data-key="1" title="right click for Key">
|
|
|
|
|
Key
|
|
|
|
|
</button>
|
|
|
|
|
<div class="shortcuts">
|
|
|
|
|
<kbd title="keyboard button">/</kbd>
|
|
|
|
|
<kbd title="keyboard button">z</kbd>
|
2022-05-08 11:33:25 -06:00
|
|
|
|
<i class="mdi mdi-gamepad-circle-up" title="Gamepad Top Button"></i>
|
2022-05-14 18:51:05 -06:00
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div>
|
|
|
|
|
<div class="field is-horizontal">
|
|
|
|
|
<div class="field-label">
|
|
|
|
|
<label class="label">Mode</label>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="field-body">
|
|
|
|
|
<div class="field">
|
|
|
|
|
<div class="control">
|
|
|
|
|
<div class="select">
|
|
|
|
|
<select id="keyer-mode">
|
|
|
|
|
<option value="cootie">Straight Key / Cootie</option>
|
|
|
|
|
<option value="bug">Bug</option>
|
|
|
|
|
<option value="elbug">ElBug</option>
|
|
|
|
|
<option value="singledot">Single Dot</option>
|
|
|
|
|
<option value="ultimatic">Ultimatic</option>
|
|
|
|
|
<option value="iambic">Iambic (Plain)</option>
|
|
|
|
|
<option value="iambica">Iambic A</option>
|
|
|
|
|
<option value="iambicb">Iambic B</option>
|
|
|
|
|
<option value="keyahead">Keyahead</option>
|
|
|
|
|
</select>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2021-04-27 17:30:16 -06:00
|
|
|
|
</div>
|
2020-05-01 15:07:09 -06:00
|
|
|
|
</div>
|
2022-05-14 18:51:05 -06:00
|
|
|
|
|
|
|
|
|
<div class="field is-horizontal">
|
|
|
|
|
<div class="field-label">
|
|
|
|
|
<label class="label">
|
2022-05-14 21:17:44 -06:00
|
|
|
|
<output for="keyer-rate"></output> WPM
|
|
|
|
|
/
|
|
|
|
|
<span data-fill="keyer-ms"></span>ms
|
2022-05-14 18:51:05 -06:00
|
|
|
|
</label>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="field-body">
|
|
|
|
|
<div class="field">
|
|
|
|
|
<div class="control">
|
|
|
|
|
<input
|
|
|
|
|
id="keyer-rate"
|
|
|
|
|
type="range"
|
|
|
|
|
min="5"
|
|
|
|
|
max="40"
|
|
|
|
|
step="1"
|
|
|
|
|
value="12">
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2020-05-17 15:34:09 -06:00
|
|
|
|
</div>
|
2020-05-01 15:07:09 -06:00
|
|
|
|
</div>
|
2022-05-28 20:39:20 -06:00
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="column">
|
|
|
|
|
<div class="box">
|
|
|
|
|
<h2 class="title">Notes</h2>
|
|
|
|
|
<textarea class="textarea" placeholder="Enter your own notes here" id="notes"></textarea>
|
|
|
|
|
<nav class="breadcrumb has-bullet-separator">
|
|
|
|
|
<ul>
|
|
|
|
|
<li><a href="https://discord.gg/GBzj8cBat7" target="_blank" title="Text/voice chat on Discord"><i class="mdi mdi-discord"></i></a></li>
|
|
|
|
|
<li><a href="https://github.com/nealey/vail/wiki" target="_blank" title="Vail Wiki">Help</a></li>
|
|
|
|
|
</ul>
|
|
|
|
|
</nav>
|
2020-05-01 15:07:09 -06:00
|
|
|
|
</div>
|
2022-05-14 18:51:05 -06:00
|
|
|
|
</div>
|
2020-05-01 15:07:09 -06:00
|
|
|
|
|
2022-05-14 18:51:05 -06:00
|
|
|
|
<div class="column">
|
|
|
|
|
<div class="box">
|
|
|
|
|
<h2 class="title">Knobs</h2>
|
|
|
|
|
<div class="block">
|
|
|
|
|
<div class="control">
|
|
|
|
|
<button id="ck" class="button is-primary">
|
|
|
|
|
CK
|
|
|
|
|
</button>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="">
|
|
|
|
|
Send <code>CK</code> (check) to the repeater, and play when it comes back.
|
|
|
|
|
</div>
|
2021-07-16 10:10:50 -06:00
|
|
|
|
</div>
|
2022-05-14 18:51:05 -06:00
|
|
|
|
<div class="block">
|
|
|
|
|
<div class="control">
|
|
|
|
|
<button id="reset" class="button">
|
|
|
|
|
Reset
|
|
|
|
|
</button>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
Reset all Vail preferences to default.
|
|
|
|
|
</div>
|
2021-07-16 10:10:50 -06:00
|
|
|
|
</div>
|
|
|
|
|
|
2022-05-14 18:51:05 -06:00
|
|
|
|
|
|
|
|
|
<div class="field is-horizontal">
|
|
|
|
|
<div class="field-label">
|
|
|
|
|
<label class="label">
|
|
|
|
|
<output for="rx-delay"></output>s
|
2022-05-28 20:39:20 -06:00
|
|
|
|
rx delay
|
2022-04-24 17:13:56 -06:00
|
|
|
|
</label>
|
2022-05-14 18:51:05 -06:00
|
|
|
|
</div>
|
|
|
|
|
<div class="field-body">
|
|
|
|
|
<div class="field">
|
|
|
|
|
<div class="control">
|
|
|
|
|
<input
|
|
|
|
|
id="rx-delay"
|
|
|
|
|
type="range"
|
|
|
|
|
min="0"
|
|
|
|
|
max="10"
|
|
|
|
|
value="4"
|
|
|
|
|
step="0.1"
|
|
|
|
|
list="rx-delays">
|
|
|
|
|
<datalist id="rx-delays">
|
|
|
|
|
<option value="0"></option>
|
|
|
|
|
<option value="1"></option>
|
|
|
|
|
<option value="2" label="2s"></option>
|
|
|
|
|
<option value="3"></option>
|
|
|
|
|
<option value="4" label="4s"></option>
|
|
|
|
|
<option value="5"></option>
|
|
|
|
|
<option value="6" label="6s"></option>
|
|
|
|
|
<option value="7"></option>
|
|
|
|
|
<option value="8" label="8s"></option>
|
|
|
|
|
<option value="9"></option>
|
|
|
|
|
<option value="10"></option>
|
|
|
|
|
</datalist>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2021-07-31 09:17:27 -06:00
|
|
|
|
</div>
|
|
|
|
|
|
2022-05-14 18:51:05 -06:00
|
|
|
|
<p>
|
|
|
|
|
<label class="checkbox">
|
|
|
|
|
<input type="checkbox" id="telegraph-buzzer">
|
|
|
|
|
Telegraph sounds
|
|
|
|
|
</label>
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
</div>
|
2020-05-01 15:07:09 -06:00
|
|
|
|
</div>
|
2022-05-14 18:51:05 -06:00
|
|
|
|
</div>
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
<div class="columns is-centered bottom">
|
|
|
|
|
<div class="column is-half" id="errors"></div>
|
|
|
|
|
</div>
|
2020-05-01 15:07:09 -06:00
|
|
|
|
</body>
|
2020-04-10 10:23:40 -06:00
|
|
|
|
</html>
|
2020-05-20 22:56:22 -06:00
|
|
|
|
<!-- vim: set noet ts=2 sw=2 : -->
|