Skip to content

Commit

Permalink
Merge pull request #3 from CKegel/dev
Browse files Browse the repository at this point in the history
Add all PD Modes.
  • Loading branch information
CKegel authored Oct 17, 2024
2 parents b3ba10e + a65f308 commit 3dd92a6
Show file tree
Hide file tree
Showing 8 changed files with 224 additions and 208 deletions.
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
## Summary
Web SSTV aims to both encode and decode SSTV using plain JavaScript and Web Audio API. Web SSTV can be run entirely offline (without styling), and on any platform from Chromebooks to phones, so long as they support JavaScript and Web Audio. By making SSTV readily available on many platforms, we aim to create educational opportunities and introduce more people to STEM and amateur radio. Web SSTV is currently hosted at https://ckegel.github.io/Web-SSTV/.
## Current State
Currently Web SSTV only supports encoding images using the Martin or Scottie formats, along with a few PD formats. Support for more formats and recieving SSTV signals is actively being developed. We welcome any pull requests.
Currently Web SSTV supports encoding images using the Martin, Scottie, PD, and WRASSE SC2-180 formats. Support for transmitting in the Robot format and in black and white underway. Decoding has proven to be a greater challenge. I am currently in the process of writing a custom Web Audio Worklet that leverages the Goertzel Algorithm to detect VIS headers and sync pulses. Pull requests are welcome.
## Sources
Both the [SSTV Handbook](https://www.sstv-handbook.com/) and [JL Barber's (N7CXI) paper](http://www.barberdsp.com/downloads/Dayton%20Paper.pdf) were heavily referenced when implementing support for the Martin and Scottie formats.
Both the [SSTV Handbook](https://www.sstv-handbook.com/) and [JL Barber's (N7CXI) Proposal for SSTV Mode Specifications ](http://www.barberdsp.com/downloads/Dayton%20Paper.pdf) were heavily referenced when implementing support for the Martin and Scottie formats.
## License
Web-SSTV is available freely under the MIT license. Should you decide to host your own instance of WebSSTV without substantial modification, please provide a link to this repository and a copy of the MIT license, including the original copyright statement.
18 changes: 15 additions & 3 deletions decode.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@picocss/pico@1/css/pico.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.colors.min.css">
<link rel="stylesheet" href="./style.css">
<title>Web-SSTV</title>
</head>
Expand All @@ -17,16 +18,27 @@
<li><a href="./learn.html">Learn</a></li>
</ul>
</nav>

<body>

<main class="container">
<h4>Stand by for SSTV decoding (coming soon...)</h4>
<center>
<h4><span class="pico-color-amber-200" id="decodeText">Waiting for Audio Feed...</span></h4>
<div id="previewArea" class="">
<canvas id="preview"></canvas>
</div>
<p>SSTV decoding is currently under development and not currently operational. Encountered an issue or unexpected behavior? Create an issue <a href="https://github.com/CKegel/Web-SSTV/issues">on GitHub</a>.</p>
</center>
</main>

<footer class="container">
<small>SSTV signal decoding and more encoding modes coming soon.</small>
<br>
<small><a href="https://github.com/CKegel/Web-SSTV/">Check out the project on Github</a></small>
<br>
<small>&copy 2023 Christian Kegel - Available under the MIT License</small>
<small>&copy <script>document.write(new Date().getFullYear())</script> Christian Kegel - Available under the MIT License</small>
</footer>
</body>
<script src="./goertzel.js"></script>
<script src="./decode.js"></script>
</html>
13 changes: 10 additions & 3 deletions encode.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@picocss/pico@1/css/pico.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.min.css">
<link rel="stylesheet" href="./style.css">
<title>Web-SSTV</title>
</head>
Expand All @@ -29,15 +29,22 @@
<option value="S1">Scottie 1</option>
<option value="S2">Scottie 2</option>
<option value="SDX">Scottie DX</option>
<option value="none" disabled>--- WRASSE ---</option>
<option value="WrasseSC2180">SC2-180</option>
<option value="none" disabled>--- PD ---</option>
<option value="PD50">PD-50</option>
<option value="PD90">PD-90</option>
<option value="PD120">PD-120</option>
<option value="PD160">PD-160</option>
<option value="PD180">PD-180</option>
<option value="PD240">PD-240</option>
<option value="PD290">PD-290</option>
</select>

<label id="imgLabel" for="imgPicker">Upload an image:</label>
<input type="file" name="imgPicker" id="imgPicker" disabled />
<center id="imgArea" class="container">
<canvas id="imgCanvas" width="320" height="256"></canvas>
<canvas id="imgCanvas" ></canvas>
<br>
<span id="warningText"></span>
</center>
Expand All @@ -58,7 +65,7 @@
<br>
<small><a href="https://github.com/CKegel/Web-SSTV/">Check out the project on Github</a></small>
<br>
<small>&copy 2023 Christian Kegel - Available under the MIT License</small>
<small>&copy <script>document.write(new Date().getFullYear())</script> Christian Kegel - Available under the MIT License</small>
</footer>
</body>
<script src="./encode.js"></script>
Expand Down
Loading

0 comments on commit 3dd92a6

Please sign in to comment.