@rhizomatics/signalk-boat-tech-directory-plugin 1.2.1 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rhizomatics/signalk-boat-tech-directory-plugin",
3
- "version": "1.2.1",
3
+ "version": "1.2.2",
4
4
  "description": "Offline curated directory of marine electronics, NMEA, SignalK, OpenCPN and other open source projects, vendors, blogs and forums.",
5
5
  "keywords": [
6
6
  "signalk-webapp",
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html><html lang="en" dir="ltr" data-theme="dark" data-has-sidebar class="astro-vdxcvpsm"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>Charts | Boat Tech Directory</title><link rel="canonical" href="https://boat-tech-directory.rhizomatics.org.uk/@rhizomatics/signalk-boat-tech-directory-plugin/charts/"/><link rel="sitemap" href="/@rhizomatics/signalk-boat-tech-directory-plugin/sitemap-index.xml"/><link rel="shortcut icon" href="/@rhizomatics/signalk-boat-tech-directory-plugin/favicon.svg" type="image/svg+xml"/><meta name="generator" content="Astro v7.2.0"/><meta name="generator" content="Starlight v0.41.7"/><meta property="og:title" content="Charts"/><meta property="og:type" content="article"/><meta property="og:url" content="https://boat-tech-directory.rhizomatics.org.uk/@rhizomatics/signalk-boat-tech-directory-plugin/charts/"/><meta property="og:locale" content="en"/><meta property="og:description" content="Open and volunteer charting projects."/><meta property="og:site_name" content="Boat Tech Directory"/><meta name="twitter:card" content="summary_large_image"/><meta name="description" content="Open and volunteer charting projects."/><script>
1
+ <!DOCTYPE html><html lang="en" dir="ltr" data-theme="dark" data-has-sidebar class="astro-vdxcvpsm"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>Charts and Data | Boat Tech Directory</title><link rel="canonical" href="https://boat-tech-directory.rhizomatics.org.uk/@rhizomatics/signalk-boat-tech-directory-plugin/charts/"/><link rel="sitemap" href="/@rhizomatics/signalk-boat-tech-directory-plugin/sitemap-index.xml"/><link rel="shortcut icon" href="/@rhizomatics/signalk-boat-tech-directory-plugin/favicon.svg" type="image/svg+xml"/><meta name="generator" content="Astro v7.2.0"/><meta name="generator" content="Starlight v0.41.7"/><meta property="og:title" content="Charts and Data"/><meta property="og:type" content="article"/><meta property="og:url" content="https://boat-tech-directory.rhizomatics.org.uk/@rhizomatics/signalk-boat-tech-directory-plugin/charts/"/><meta property="og:locale" content="en"/><meta property="og:description" content="Open and volunteer charting projects."/><meta property="og:site_name" content="Boat Tech Directory"/><meta name="twitter:card" content="summary_large_image"/><meta name="description" content="Open and volunteer charting projects."/><script>
2
2
  window.StarlightThemeProvider = (() => {
3
3
  const storedTheme =
4
4
  typeof localStorage !== 'undefined' && localStorage.getItem('starlight-theme');
@@ -38,7 +38,7 @@
38
38
  })();
39
39
  </script><script type="module" src="/@rhizomatics/signalk-boat-tech-directory-plugin/_astro/Search.astro_astro_type_script_index_0_lang.3ca-UBSH.js"></script></div><div class="sl-hidden md:sl-flex print:hidden right-group astro-nczgtkxc"><div class="sl-flex social-icons astro-nczgtkxc"><a href="https://github.com/rhizomatics/boat-tech-directory" rel="me" class="sl-flex astro-cg55etiy"><span class="sr-only astro-cg55etiy">GitHub</span><svg aria-hidden="true" class="astro-cg55etiy astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg></a></div><starlight-theme-select><label style="--sl-select-width: 6.25em" class="astro-r2p65idu"><span class="sr-only astro-r2p65idu">Select theme</span><svg aria-hidden="true" class="icon label-icon astro-r2p65idu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg><select autocomplete="off" class="astro-r2p65idu"><option value="dark" class="astro-r2p65idu">Dark</option><option value="light" class="astro-r2p65idu">Light</option><option value="auto" selected class="astro-r2p65idu">Auto</option></select><svg aria-hidden="true" class="icon caret astro-r2p65idu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg></label></starlight-theme-select><script>
40
40
  StarlightThemeProvider.updatePickers();
41
- </script><script type="module">var e=`starlight-theme`,t=e=>e===`auto`||e===`dark`||e===`light`?e:`auto`,n=()=>t(typeof localStorage<`u`&&localStorage.getItem(e));function r(t){typeof localStorage<`u`&&localStorage.setItem(e,t===`light`||t===`dark`?t:``)}var i=()=>matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`;function a(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e===`auto`?i():e,r(e)}matchMedia(`(prefers-color-scheme: light)`).addEventListener(`change`,()=>{n()===`auto`&&a(`auto`)});var o=class extends HTMLElement{constructor(){super(),a(n()),this.querySelector(`select`)?.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&a(t(e.currentTarget.value))})}};customElements.define(`starlight-theme-select`,o);</script><script type="module">var e=class extends HTMLElement{constructor(){super();let e=this.querySelector(`select`);e&&(e.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=e.currentTarget.value)}),window.addEventListener(`pageshow`,t=>{if(!t.persisted)return;let n=e.querySelector(`option[selected]`)?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}};customElements.define(`starlight-lang-select`,e);</script></div></div></header><nav class="sidebar print:hidden astro-gqpr5s5a" aria-label="Main"><starlight-menu-button class="print:hidden astro-vvx7mffu"><button aria-expanded="false" aria-label="Menu" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-vvx7mffu"><svg aria-hidden="true" class="open-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg><svg aria-hidden="true" class="close-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="m13.41 12 6.3-6.29a1.004 1.004 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1.004 1.004 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 0 1.42.998.998 0 0 0 1.42 0l6.29-6.3 6.29 6.3a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.42L13.41 12Z"/></svg></button></starlight-menu-button><script type="module">var e=class extends HTMLElement{btn=this.querySelector(`button`);constructor(){super(),this.btn.addEventListener(`click`,()=>this.toggleExpanded());let e=this.closest(`nav`);e&&e.addEventListener(`keyup`,e=>this.closeOnEscape(e)),matchMedia(`(min-width: 50em)`).addEventListener(`change`,()=>this.setExpanded(!1))}setExpanded(e){this.setAttribute(`aria-expanded`,String(e)),document.body.toggleAttribute(`data-mobile-menu-expanded`,e),document.querySelectorAll(`.main-frame, .sl-skip-link`).forEach(t=>{t.toggleAttribute(`inert`,e)})}toggleExpanded(){this.setExpanded(this.getAttribute(`aria-expanded`)!==`true`)}closeOnEscape(e){e.code===`Escape`&&(this.setExpanded(!1),this.btn.focus())}};customElements.define(`starlight-menu-button`,e);</script><div id="starlight__sidebar" class="sidebar-pane astro-gqpr5s5a"><div class="sidebar-content sl-flex astro-gqpr5s5a"><sl-sidebar-state-persist data-hash="1u62lit" class="astro-f5yvicm7"><script aria-hidden="true">
41
+ </script><script type="module">var e=`starlight-theme`,t=e=>e===`auto`||e===`dark`||e===`light`?e:`auto`,n=()=>t(typeof localStorage<`u`&&localStorage.getItem(e));function r(t){typeof localStorage<`u`&&localStorage.setItem(e,t===`light`||t===`dark`?t:``)}var i=()=>matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`;function a(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e===`auto`?i():e,r(e)}matchMedia(`(prefers-color-scheme: light)`).addEventListener(`change`,()=>{n()===`auto`&&a(`auto`)});var o=class extends HTMLElement{constructor(){super(),a(n()),this.querySelector(`select`)?.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&a(t(e.currentTarget.value))})}};customElements.define(`starlight-theme-select`,o);</script><script type="module">var e=class extends HTMLElement{constructor(){super();let e=this.querySelector(`select`);e&&(e.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=e.currentTarget.value)}),window.addEventListener(`pageshow`,t=>{if(!t.persisted)return;let n=e.querySelector(`option[selected]`)?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}};customElements.define(`starlight-lang-select`,e);</script></div></div></header><nav class="sidebar print:hidden astro-gqpr5s5a" aria-label="Main"><starlight-menu-button class="print:hidden astro-vvx7mffu"><button aria-expanded="false" aria-label="Menu" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-vvx7mffu"><svg aria-hidden="true" class="open-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg><svg aria-hidden="true" class="close-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="m13.41 12 6.3-6.29a1.004 1.004 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1.004 1.004 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 0 1.42.998.998 0 0 0 1.42 0l6.29-6.3 6.29 6.3a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.42L13.41 12Z"/></svg></button></starlight-menu-button><script type="module">var e=class extends HTMLElement{btn=this.querySelector(`button`);constructor(){super(),this.btn.addEventListener(`click`,()=>this.toggleExpanded());let e=this.closest(`nav`);e&&e.addEventListener(`keyup`,e=>this.closeOnEscape(e)),matchMedia(`(min-width: 50em)`).addEventListener(`change`,()=>this.setExpanded(!1))}setExpanded(e){this.setAttribute(`aria-expanded`,String(e)),document.body.toggleAttribute(`data-mobile-menu-expanded`,e),document.querySelectorAll(`.main-frame, .sl-skip-link`).forEach(t=>{t.toggleAttribute(`inert`,e)})}toggleExpanded(){this.setExpanded(this.getAttribute(`aria-expanded`)!==`true`)}closeOnEscape(e){e.code===`Escape`&&(this.setExpanded(!1),this.btn.focus())}};customElements.define(`starlight-menu-button`,e);</script><div id="starlight__sidebar" class="sidebar-pane astro-gqpr5s5a"><div class="sidebar-content sl-flex astro-gqpr5s5a"><sl-sidebar-state-persist data-hash="070u86e" class="astro-f5yvicm7"><script aria-hidden="true">
42
42
  (() => {
43
43
  try {
44
44
  if (!matchMedia('(min-width: 50em)').matches) return;
@@ -61,7 +61,7 @@
61
61
  );
62
62
  } catch {}
63
63
  })();
64
- </script><ul class="top-level astro-wv7whodv"><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Home</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/social-media/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Social Media</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/charts/" aria-current="page" class="large astro-wv7whodv"><span class="astro-wv7whodv">Charts</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/open-source-projects/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Open Source Projects</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/protocols/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Protocols</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/vendors/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Vendors</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/news/" class="large astro-wv7whodv"><span class="astro-wv7whodv">News</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/education/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Education</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/reference/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Reference</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/index-of-terms/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Index</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/contributing/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Contributing</span></a></li></ul><script aria-hidden="true">
64
+ </script><ul class="top-level astro-wv7whodv"><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Home</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/social-media/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Social Media</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/charts/" aria-current="page" class="large astro-wv7whodv"><span class="astro-wv7whodv">Charts and Data</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/open-source-projects/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Open Source Projects</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/protocols/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Protocols</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/vendors/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Vendors</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/news/" class="large astro-wv7whodv"><span class="astro-wv7whodv">News</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/education/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Education</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/reference/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Reference</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/index-of-terms/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Index</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/contributing/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Contributing</span></a></li></ul><script aria-hidden="true">
65
65
  (() => {
66
66
  const scroller = document.getElementById('starlight__sidebar');
67
67
  if (!window._starlightScrollRestore || !scroller) return;
@@ -70,11 +70,16 @@
70
70
  })();
71
71
  </script></sl-sidebar-state-persist><div class="md:sl-hidden astro-wv7whodv"><div class="mobile-preferences sl-flex astro-b5gddk54"><div class="social-icons astro-b5gddk54"><a href="https://github.com/rhizomatics/boat-tech-directory" rel="me" class="sl-flex astro-cg55etiy"><span class="sr-only astro-cg55etiy">GitHub</span><svg aria-hidden="true" class="astro-cg55etiy astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg></a></div><starlight-theme-select><label style="--sl-select-width: 6.25em" class="astro-r2p65idu"><span class="sr-only astro-r2p65idu">Select theme</span><svg aria-hidden="true" class="icon label-icon astro-r2p65idu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg><select autocomplete="off" class="astro-r2p65idu"><option value="dark" class="astro-r2p65idu">Dark</option><option value="light" class="astro-r2p65idu">Light</option><option value="auto" selected class="astro-r2p65idu">Auto</option></select><svg aria-hidden="true" class="icon caret astro-r2p65idu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg></label></starlight-theme-select><script>
72
72
  StarlightThemeProvider.updatePickers();
73
- </script></div></div></div></div></nav><div class="main-frame astro-gqpr5s5a"><script type="module">var e=document.getElementById(`starlight__sidebar`),t=e?.querySelector(`sl-sidebar-state-persist`),n=`sl-sidebar-state`,r=()=>{let r=[],i=t?.dataset.hash||``;try{let e=sessionStorage.getItem(n),t=JSON.parse(e||`{}`);Array.isArray(t.open)&&t.hash===i&&(r=t.open)}catch{}return{hash:i,open:r,scroll:e?.scrollTop||0}},i=e=>{try{sessionStorage.setItem(n,JSON.stringify(e))}catch{}},a=()=>i(r()),o=(e,t)=>{let n=r();n.open[t]=e,i(n)};t?.addEventListener(`click`,e=>{if(!(e.target instanceof Element))return;let t=e.target.closest(`summary`)?.closest(`details`);if(!t)return;let n=t.querySelector(`sl-sidebar-restore`),r=parseInt(n?.dataset.index||``);isNaN(r)||o(!t.open,r)}),addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`&&a()});</script><div class="lg:sl-flex astro-abfeecmu"><div class="main-pane astro-abfeecmu"><main data-pagefind-body class="astro-vdxcvpsm" lang="en" dir="ltr"><div class="content-panel astro-oil7k7jf"><div class="sl-container astro-oil7k7jf"><h1 id="_top" class="astro-2sm4b3ln">Charts</h1></div></div><div class="content-panel astro-oil7k7jf"><div class="sl-container astro-oil7k7jf"><div class="sl-markdown-content"><!-- Generated from ../../../../README.md by scripts/sync-readme.mjs — do not edit directly. -->
74
- <p>Open source, crowd-sourced and volunteer chart sources.</p>
73
+ </script></div></div></div></div></nav><div class="main-frame astro-gqpr5s5a"><script type="module">var e=document.getElementById(`starlight__sidebar`),t=e?.querySelector(`sl-sidebar-state-persist`),n=`sl-sidebar-state`,r=()=>{let r=[],i=t?.dataset.hash||``;try{let e=sessionStorage.getItem(n),t=JSON.parse(e||`{}`);Array.isArray(t.open)&&t.hash===i&&(r=t.open)}catch{}return{hash:i,open:r,scroll:e?.scrollTop||0}},i=e=>{try{sessionStorage.setItem(n,JSON.stringify(e))}catch{}},a=()=>i(r()),o=(e,t)=>{let n=r();n.open[t]=e,i(n)};t?.addEventListener(`click`,e=>{if(!(e.target instanceof Element))return;let t=e.target.closest(`summary`)?.closest(`details`);if(!t)return;let n=t.querySelector(`sl-sidebar-restore`),r=parseInt(n?.dataset.index||``);isNaN(r)||o(!t.open,r)}),addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`&&a()});</script><div class="lg:sl-flex astro-abfeecmu"><div class="main-pane astro-abfeecmu"><main data-pagefind-body class="astro-vdxcvpsm" lang="en" dir="ltr"><div class="content-panel astro-oil7k7jf"><div class="sl-container astro-oil7k7jf"><h1 id="_top" class="astro-2sm4b3ln">Charts and Data</h1></div></div><div class="content-panel astro-oil7k7jf"><div class="sl-container astro-oil7k7jf"><div class="sl-markdown-content"><!-- Generated from ../../../../README.md by scripts/sync-readme.mjs — do not edit directly. -->
74
+ <p>Open source, crowd-sourced and volunteer charts and other data sources.</p>
75
75
  <ul>
76
76
  <li id="antares-charts"><a href="https://www.antarescharts.co.uk">Antares Charts</a> - Volunteer project for charting and pilotage of West Coast Scotland.</li>
77
+ <li id="citizen-sea"><a href="https://www.hubocean.earth/citizen-sea">Citizen Sea</a> - Citizen science marine biology app, iOS and Android.</li>
77
78
  <li id="mapterhorn"><a href="https://mapterhorn.com">Mapterhorn</a> - Open Source terrain tiles for interactive web map visualizations.</li>
78
79
  <li id="nautical-chart-catalogs"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://chartcatalogs.github.io">Nautical Chart Catalogs</a> - Machine readable index of free to use nautical charts.</li>
80
+ <li id="openbathy"><a href="https://www.openbathy.org">OpenBathy</a> - Open access bathymetry data.</li>
81
+ <li id="open-earth"><a href="https://www.openearth.nl">Open Earth</a> - Dutch open marine data, including detailed Wadden Sea mapping.</li>
79
82
  <li id="openseamap"><a href="https://www.openseamap.org/index.php?id=openseamap&#x26;L=1">OpenSeaMap</a> - Open sourced charts, in English, German, Spanish, French, Italian, Russian and Arabic.</li>
83
+ <li id="opentide"><a href="https://opentide.io">OpenTide</a> - Crowd sourced tidal data, with SignalK plugin.</li>
84
+ <li id="openwaters"><a href="https://openwaters.io">OpenWaters</a> - Open source mapping, tides and bathymetry.</li>
80
85
  </ul></div><footer class="sl-flex astro-xhxjzfa7"><div class="meta sl-flex astro-xhxjzfa7"></div><div class="pagination-links print:hidden astro-jgq3vlii" dir="ltr"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/social-media/" rel="prev" class="astro-jgq3vlii"><svg aria-hidden="true" class="astro-jgq3vlii astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M17 11H9.41l3.3-3.29a1.004 1.004 0 1 0-1.42-1.42l-5 5a1 1 0 0 0-.21.33 1 1 0 0 0 0 .76 1 1 0 0 0 .21.33l5 5a1.002 1.002 0 0 0 1.639-.325 1 1 0 0 0-.219-1.095L9.41 13H17a1 1 0 0 0 0-2Z"/></svg><span class="astro-jgq3vlii">Previous<br class="astro-jgq3vlii"><span class="link-title astro-jgq3vlii">Social Media</span></span></a><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/open-source-projects/" rel="next" class="astro-jgq3vlii"><svg aria-hidden="true" class="astro-jgq3vlii astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M17.92 11.62a1.001 1.001 0 0 0-.21-.33l-5-5a1.003 1.003 0 1 0-1.42 1.42l3.3 3.29H7a1 1 0 0 0 0 2h7.59l-3.3 3.29a1.002 1.002 0 0 0 .325 1.639 1 1 0 0 0 1.095-.219l5-5a1 1 0 0 0 .21-.33 1 1 0 0 0 0-.76Z"/></svg><span class="astro-jgq3vlii">Next<br class="astro-jgq3vlii"><span class="link-title astro-jgq3vlii">Open Source Projects</span></span></a></div></footer></div></div></main></div></div></div></div></body></html>
@@ -38,7 +38,7 @@
38
38
  })();
39
39
  </script><script type="module" src="/@rhizomatics/signalk-boat-tech-directory-plugin/_astro/Search.astro_astro_type_script_index_0_lang.3ca-UBSH.js"></script></div><div class="sl-hidden md:sl-flex print:hidden right-group astro-nczgtkxc"><div class="sl-flex social-icons astro-nczgtkxc"><a href="https://github.com/rhizomatics/boat-tech-directory" rel="me" class="sl-flex astro-cg55etiy"><span class="sr-only astro-cg55etiy">GitHub</span><svg aria-hidden="true" class="astro-cg55etiy astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg></a></div><starlight-theme-select><label style="--sl-select-width: 6.25em" class="astro-r2p65idu"><span class="sr-only astro-r2p65idu">Select theme</span><svg aria-hidden="true" class="icon label-icon astro-r2p65idu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg><select autocomplete="off" class="astro-r2p65idu"><option value="dark" class="astro-r2p65idu">Dark</option><option value="light" class="astro-r2p65idu">Light</option><option value="auto" selected class="astro-r2p65idu">Auto</option></select><svg aria-hidden="true" class="icon caret astro-r2p65idu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg></label></starlight-theme-select><script>
40
40
  StarlightThemeProvider.updatePickers();
41
- </script><script type="module">var e=`starlight-theme`,t=e=>e===`auto`||e===`dark`||e===`light`?e:`auto`,n=()=>t(typeof localStorage<`u`&&localStorage.getItem(e));function r(t){typeof localStorage<`u`&&localStorage.setItem(e,t===`light`||t===`dark`?t:``)}var i=()=>matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`;function a(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e===`auto`?i():e,r(e)}matchMedia(`(prefers-color-scheme: light)`).addEventListener(`change`,()=>{n()===`auto`&&a(`auto`)});var o=class extends HTMLElement{constructor(){super(),a(n()),this.querySelector(`select`)?.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&a(t(e.currentTarget.value))})}};customElements.define(`starlight-theme-select`,o);</script><script type="module">var e=class extends HTMLElement{constructor(){super();let e=this.querySelector(`select`);e&&(e.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=e.currentTarget.value)}),window.addEventListener(`pageshow`,t=>{if(!t.persisted)return;let n=e.querySelector(`option[selected]`)?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}};customElements.define(`starlight-lang-select`,e);</script></div></div></header><nav class="sidebar print:hidden astro-gqpr5s5a" aria-label="Main"><starlight-menu-button class="print:hidden astro-vvx7mffu"><button aria-expanded="false" aria-label="Menu" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-vvx7mffu"><svg aria-hidden="true" class="open-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg><svg aria-hidden="true" class="close-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="m13.41 12 6.3-6.29a1.004 1.004 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1.004 1.004 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 0 1.42.998.998 0 0 0 1.42 0l6.29-6.3 6.29 6.3a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.42L13.41 12Z"/></svg></button></starlight-menu-button><script type="module">var e=class extends HTMLElement{btn=this.querySelector(`button`);constructor(){super(),this.btn.addEventListener(`click`,()=>this.toggleExpanded());let e=this.closest(`nav`);e&&e.addEventListener(`keyup`,e=>this.closeOnEscape(e)),matchMedia(`(min-width: 50em)`).addEventListener(`change`,()=>this.setExpanded(!1))}setExpanded(e){this.setAttribute(`aria-expanded`,String(e)),document.body.toggleAttribute(`data-mobile-menu-expanded`,e),document.querySelectorAll(`.main-frame, .sl-skip-link`).forEach(t=>{t.toggleAttribute(`inert`,e)})}toggleExpanded(){this.setExpanded(this.getAttribute(`aria-expanded`)!==`true`)}closeOnEscape(e){e.code===`Escape`&&(this.setExpanded(!1),this.btn.focus())}};customElements.define(`starlight-menu-button`,e);</script><div id="starlight__sidebar" class="sidebar-pane astro-gqpr5s5a"><div class="sidebar-content sl-flex astro-gqpr5s5a"><sl-sidebar-state-persist data-hash="1u62lit" class="astro-f5yvicm7"><script aria-hidden="true">
41
+ </script><script type="module">var e=`starlight-theme`,t=e=>e===`auto`||e===`dark`||e===`light`?e:`auto`,n=()=>t(typeof localStorage<`u`&&localStorage.getItem(e));function r(t){typeof localStorage<`u`&&localStorage.setItem(e,t===`light`||t===`dark`?t:``)}var i=()=>matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`;function a(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e===`auto`?i():e,r(e)}matchMedia(`(prefers-color-scheme: light)`).addEventListener(`change`,()=>{n()===`auto`&&a(`auto`)});var o=class extends HTMLElement{constructor(){super(),a(n()),this.querySelector(`select`)?.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&a(t(e.currentTarget.value))})}};customElements.define(`starlight-theme-select`,o);</script><script type="module">var e=class extends HTMLElement{constructor(){super();let e=this.querySelector(`select`);e&&(e.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=e.currentTarget.value)}),window.addEventListener(`pageshow`,t=>{if(!t.persisted)return;let n=e.querySelector(`option[selected]`)?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}};customElements.define(`starlight-lang-select`,e);</script></div></div></header><nav class="sidebar print:hidden astro-gqpr5s5a" aria-label="Main"><starlight-menu-button class="print:hidden astro-vvx7mffu"><button aria-expanded="false" aria-label="Menu" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-vvx7mffu"><svg aria-hidden="true" class="open-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg><svg aria-hidden="true" class="close-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="m13.41 12 6.3-6.29a1.004 1.004 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1.004 1.004 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 0 1.42.998.998 0 0 0 1.42 0l6.29-6.3 6.29 6.3a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.42L13.41 12Z"/></svg></button></starlight-menu-button><script type="module">var e=class extends HTMLElement{btn=this.querySelector(`button`);constructor(){super(),this.btn.addEventListener(`click`,()=>this.toggleExpanded());let e=this.closest(`nav`);e&&e.addEventListener(`keyup`,e=>this.closeOnEscape(e)),matchMedia(`(min-width: 50em)`).addEventListener(`change`,()=>this.setExpanded(!1))}setExpanded(e){this.setAttribute(`aria-expanded`,String(e)),document.body.toggleAttribute(`data-mobile-menu-expanded`,e),document.querySelectorAll(`.main-frame, .sl-skip-link`).forEach(t=>{t.toggleAttribute(`inert`,e)})}toggleExpanded(){this.setExpanded(this.getAttribute(`aria-expanded`)!==`true`)}closeOnEscape(e){e.code===`Escape`&&(this.setExpanded(!1),this.btn.focus())}};customElements.define(`starlight-menu-button`,e);</script><div id="starlight__sidebar" class="sidebar-pane astro-gqpr5s5a"><div class="sidebar-content sl-flex astro-gqpr5s5a"><sl-sidebar-state-persist data-hash="070u86e" class="astro-f5yvicm7"><script aria-hidden="true">
42
42
  (() => {
43
43
  try {
44
44
  if (!matchMedia('(min-width: 50em)').matches) return;
@@ -61,7 +61,7 @@
61
61
  );
62
62
  } catch {}
63
63
  })();
64
- </script><ul class="top-level astro-wv7whodv"><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Home</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/social-media/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Social Media</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/charts/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Charts</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/open-source-projects/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Open Source Projects</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/protocols/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Protocols</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/vendors/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Vendors</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/news/" class="large astro-wv7whodv"><span class="astro-wv7whodv">News</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/education/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Education</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/reference/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Reference</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/index-of-terms/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Index</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/contributing/" aria-current="page" class="large astro-wv7whodv"><span class="astro-wv7whodv">Contributing</span></a><ul class="page-toc astro-wv7whodv"><li class="depth-2 astro-wv7whodv"><a href="#adding-to-or-correcting-this-list" class="astro-wv7whodv">Adding To or Correcting this list</a></li><li class="depth-3 astro-wv7whodv"><a href="#pull-requests" class="astro-wv7whodv">Pull Requests</a></li><li class="depth-3 astro-wv7whodv"><a href="#alternatives" class="astro-wv7whodv">Alternatives</a></li></ul></li></ul><script aria-hidden="true">
64
+ </script><ul class="top-level astro-wv7whodv"><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Home</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/social-media/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Social Media</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/charts/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Charts and Data</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/open-source-projects/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Open Source Projects</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/protocols/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Protocols</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/vendors/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Vendors</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/news/" class="large astro-wv7whodv"><span class="astro-wv7whodv">News</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/education/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Education</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/reference/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Reference</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/index-of-terms/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Index</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/contributing/" aria-current="page" class="large astro-wv7whodv"><span class="astro-wv7whodv">Contributing</span></a><ul class="page-toc astro-wv7whodv"><li class="depth-2 astro-wv7whodv"><a href="#adding-to-or-correcting-this-list" class="astro-wv7whodv">Adding To or Correcting this list</a></li><li class="depth-3 astro-wv7whodv"><a href="#pull-requests" class="astro-wv7whodv">Pull Requests</a></li><li class="depth-3 astro-wv7whodv"><a href="#alternatives" class="astro-wv7whodv">Alternatives</a></li></ul></li></ul><script aria-hidden="true">
65
65
  (() => {
66
66
  const scroller = document.getElementById('starlight__sidebar');
67
67
  if (!window._starlightScrollRestore || !scroller) return;
@@ -38,7 +38,7 @@
38
38
  })();
39
39
  </script><script type="module" src="/@rhizomatics/signalk-boat-tech-directory-plugin/_astro/Search.astro_astro_type_script_index_0_lang.3ca-UBSH.js"></script></div><div class="sl-hidden md:sl-flex print:hidden right-group astro-nczgtkxc"><div class="sl-flex social-icons astro-nczgtkxc"><a href="https://github.com/rhizomatics/boat-tech-directory" rel="me" class="sl-flex astro-cg55etiy"><span class="sr-only astro-cg55etiy">GitHub</span><svg aria-hidden="true" class="astro-cg55etiy astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg></a></div><starlight-theme-select><label style="--sl-select-width: 6.25em" class="astro-r2p65idu"><span class="sr-only astro-r2p65idu">Select theme</span><svg aria-hidden="true" class="icon label-icon astro-r2p65idu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg><select autocomplete="off" class="astro-r2p65idu"><option value="dark" class="astro-r2p65idu">Dark</option><option value="light" class="astro-r2p65idu">Light</option><option value="auto" selected class="astro-r2p65idu">Auto</option></select><svg aria-hidden="true" class="icon caret astro-r2p65idu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg></label></starlight-theme-select><script>
40
40
  StarlightThemeProvider.updatePickers();
41
- </script><script type="module">var e=`starlight-theme`,t=e=>e===`auto`||e===`dark`||e===`light`?e:`auto`,n=()=>t(typeof localStorage<`u`&&localStorage.getItem(e));function r(t){typeof localStorage<`u`&&localStorage.setItem(e,t===`light`||t===`dark`?t:``)}var i=()=>matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`;function a(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e===`auto`?i():e,r(e)}matchMedia(`(prefers-color-scheme: light)`).addEventListener(`change`,()=>{n()===`auto`&&a(`auto`)});var o=class extends HTMLElement{constructor(){super(),a(n()),this.querySelector(`select`)?.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&a(t(e.currentTarget.value))})}};customElements.define(`starlight-theme-select`,o);</script><script type="module">var e=class extends HTMLElement{constructor(){super();let e=this.querySelector(`select`);e&&(e.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=e.currentTarget.value)}),window.addEventListener(`pageshow`,t=>{if(!t.persisted)return;let n=e.querySelector(`option[selected]`)?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}};customElements.define(`starlight-lang-select`,e);</script></div></div></header><nav class="sidebar print:hidden astro-gqpr5s5a" aria-label="Main"><starlight-menu-button class="print:hidden astro-vvx7mffu"><button aria-expanded="false" aria-label="Menu" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-vvx7mffu"><svg aria-hidden="true" class="open-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg><svg aria-hidden="true" class="close-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="m13.41 12 6.3-6.29a1.004 1.004 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1.004 1.004 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 0 1.42.998.998 0 0 0 1.42 0l6.29-6.3 6.29 6.3a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.42L13.41 12Z"/></svg></button></starlight-menu-button><script type="module">var e=class extends HTMLElement{btn=this.querySelector(`button`);constructor(){super(),this.btn.addEventListener(`click`,()=>this.toggleExpanded());let e=this.closest(`nav`);e&&e.addEventListener(`keyup`,e=>this.closeOnEscape(e)),matchMedia(`(min-width: 50em)`).addEventListener(`change`,()=>this.setExpanded(!1))}setExpanded(e){this.setAttribute(`aria-expanded`,String(e)),document.body.toggleAttribute(`data-mobile-menu-expanded`,e),document.querySelectorAll(`.main-frame, .sl-skip-link`).forEach(t=>{t.toggleAttribute(`inert`,e)})}toggleExpanded(){this.setExpanded(this.getAttribute(`aria-expanded`)!==`true`)}closeOnEscape(e){e.code===`Escape`&&(this.setExpanded(!1),this.btn.focus())}};customElements.define(`starlight-menu-button`,e);</script><div id="starlight__sidebar" class="sidebar-pane astro-gqpr5s5a"><div class="sidebar-content sl-flex astro-gqpr5s5a"><sl-sidebar-state-persist data-hash="1u62lit" class="astro-f5yvicm7"><script aria-hidden="true">
41
+ </script><script type="module">var e=`starlight-theme`,t=e=>e===`auto`||e===`dark`||e===`light`?e:`auto`,n=()=>t(typeof localStorage<`u`&&localStorage.getItem(e));function r(t){typeof localStorage<`u`&&localStorage.setItem(e,t===`light`||t===`dark`?t:``)}var i=()=>matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`;function a(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e===`auto`?i():e,r(e)}matchMedia(`(prefers-color-scheme: light)`).addEventListener(`change`,()=>{n()===`auto`&&a(`auto`)});var o=class extends HTMLElement{constructor(){super(),a(n()),this.querySelector(`select`)?.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&a(t(e.currentTarget.value))})}};customElements.define(`starlight-theme-select`,o);</script><script type="module">var e=class extends HTMLElement{constructor(){super();let e=this.querySelector(`select`);e&&(e.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=e.currentTarget.value)}),window.addEventListener(`pageshow`,t=>{if(!t.persisted)return;let n=e.querySelector(`option[selected]`)?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}};customElements.define(`starlight-lang-select`,e);</script></div></div></header><nav class="sidebar print:hidden astro-gqpr5s5a" aria-label="Main"><starlight-menu-button class="print:hidden astro-vvx7mffu"><button aria-expanded="false" aria-label="Menu" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-vvx7mffu"><svg aria-hidden="true" class="open-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg><svg aria-hidden="true" class="close-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="m13.41 12 6.3-6.29a1.004 1.004 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1.004 1.004 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 0 1.42.998.998 0 0 0 1.42 0l6.29-6.3 6.29 6.3a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.42L13.41 12Z"/></svg></button></starlight-menu-button><script type="module">var e=class extends HTMLElement{btn=this.querySelector(`button`);constructor(){super(),this.btn.addEventListener(`click`,()=>this.toggleExpanded());let e=this.closest(`nav`);e&&e.addEventListener(`keyup`,e=>this.closeOnEscape(e)),matchMedia(`(min-width: 50em)`).addEventListener(`change`,()=>this.setExpanded(!1))}setExpanded(e){this.setAttribute(`aria-expanded`,String(e)),document.body.toggleAttribute(`data-mobile-menu-expanded`,e),document.querySelectorAll(`.main-frame, .sl-skip-link`).forEach(t=>{t.toggleAttribute(`inert`,e)})}toggleExpanded(){this.setExpanded(this.getAttribute(`aria-expanded`)!==`true`)}closeOnEscape(e){e.code===`Escape`&&(this.setExpanded(!1),this.btn.focus())}};customElements.define(`starlight-menu-button`,e);</script><div id="starlight__sidebar" class="sidebar-pane astro-gqpr5s5a"><div class="sidebar-content sl-flex astro-gqpr5s5a"><sl-sidebar-state-persist data-hash="070u86e" class="astro-f5yvicm7"><script aria-hidden="true">
42
42
  (() => {
43
43
  try {
44
44
  if (!matchMedia('(min-width: 50em)').matches) return;
@@ -61,7 +61,7 @@
61
61
  );
62
62
  } catch {}
63
63
  })();
64
- </script><ul class="top-level astro-wv7whodv"><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Home</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/social-media/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Social Media</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/charts/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Charts</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/open-source-projects/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Open Source Projects</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/protocols/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Protocols</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/vendors/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Vendors</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/news/" class="large astro-wv7whodv"><span class="astro-wv7whodv">News</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/education/" aria-current="page" class="large astro-wv7whodv"><span class="astro-wv7whodv">Education</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/reference/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Reference</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/index-of-terms/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Index</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/contributing/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Contributing</span></a></li></ul><script aria-hidden="true">
64
+ </script><ul class="top-level astro-wv7whodv"><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Home</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/social-media/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Social Media</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/charts/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Charts and Data</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/open-source-projects/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Open Source Projects</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/protocols/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Protocols</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/vendors/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Vendors</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/news/" class="large astro-wv7whodv"><span class="astro-wv7whodv">News</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/education/" aria-current="page" class="large astro-wv7whodv"><span class="astro-wv7whodv">Education</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/reference/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Reference</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/index-of-terms/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Index</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/contributing/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Contributing</span></a></li></ul><script aria-hidden="true">
65
65
  (() => {
66
66
  const scroller = document.getElementById('starlight__sidebar');
67
67
  if (!window._starlightScrollRestore || !scroller) return;
@@ -38,7 +38,7 @@
38
38
  })();
39
39
  </script><script type="module" src="/@rhizomatics/signalk-boat-tech-directory-plugin/_astro/Search.astro_astro_type_script_index_0_lang.3ca-UBSH.js"></script></div><div class="sl-hidden md:sl-flex print:hidden right-group astro-nczgtkxc"><div class="sl-flex social-icons astro-nczgtkxc"><a href="https://github.com/rhizomatics/boat-tech-directory" rel="me" class="sl-flex astro-cg55etiy"><span class="sr-only astro-cg55etiy">GitHub</span><svg aria-hidden="true" class="astro-cg55etiy astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg></a></div><starlight-theme-select><label style="--sl-select-width: 6.25em" class="astro-r2p65idu"><span class="sr-only astro-r2p65idu">Select theme</span><svg aria-hidden="true" class="icon label-icon astro-r2p65idu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg><select autocomplete="off" class="astro-r2p65idu"><option value="dark" class="astro-r2p65idu">Dark</option><option value="light" class="astro-r2p65idu">Light</option><option value="auto" selected class="astro-r2p65idu">Auto</option></select><svg aria-hidden="true" class="icon caret astro-r2p65idu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg></label></starlight-theme-select><script>
40
40
  StarlightThemeProvider.updatePickers();
41
- </script><script type="module">var e=`starlight-theme`,t=e=>e===`auto`||e===`dark`||e===`light`?e:`auto`,n=()=>t(typeof localStorage<`u`&&localStorage.getItem(e));function r(t){typeof localStorage<`u`&&localStorage.setItem(e,t===`light`||t===`dark`?t:``)}var i=()=>matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`;function a(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e===`auto`?i():e,r(e)}matchMedia(`(prefers-color-scheme: light)`).addEventListener(`change`,()=>{n()===`auto`&&a(`auto`)});var o=class extends HTMLElement{constructor(){super(),a(n()),this.querySelector(`select`)?.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&a(t(e.currentTarget.value))})}};customElements.define(`starlight-theme-select`,o);</script><script type="module">var e=class extends HTMLElement{constructor(){super();let e=this.querySelector(`select`);e&&(e.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=e.currentTarget.value)}),window.addEventListener(`pageshow`,t=>{if(!t.persisted)return;let n=e.querySelector(`option[selected]`)?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}};customElements.define(`starlight-lang-select`,e);</script></div></div></header><nav class="sidebar print:hidden astro-gqpr5s5a" aria-label="Main"><starlight-menu-button class="print:hidden astro-vvx7mffu"><button aria-expanded="false" aria-label="Menu" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-vvx7mffu"><svg aria-hidden="true" class="open-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg><svg aria-hidden="true" class="close-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="m13.41 12 6.3-6.29a1.004 1.004 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1.004 1.004 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 0 1.42.998.998 0 0 0 1.42 0l6.29-6.3 6.29 6.3a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.42L13.41 12Z"/></svg></button></starlight-menu-button><script type="module">var e=class extends HTMLElement{btn=this.querySelector(`button`);constructor(){super(),this.btn.addEventListener(`click`,()=>this.toggleExpanded());let e=this.closest(`nav`);e&&e.addEventListener(`keyup`,e=>this.closeOnEscape(e)),matchMedia(`(min-width: 50em)`).addEventListener(`change`,()=>this.setExpanded(!1))}setExpanded(e){this.setAttribute(`aria-expanded`,String(e)),document.body.toggleAttribute(`data-mobile-menu-expanded`,e),document.querySelectorAll(`.main-frame, .sl-skip-link`).forEach(t=>{t.toggleAttribute(`inert`,e)})}toggleExpanded(){this.setExpanded(this.getAttribute(`aria-expanded`)!==`true`)}closeOnEscape(e){e.code===`Escape`&&(this.setExpanded(!1),this.btn.focus())}};customElements.define(`starlight-menu-button`,e);</script><div id="starlight__sidebar" class="sidebar-pane astro-gqpr5s5a"><div class="sidebar-content sl-flex astro-gqpr5s5a"><sl-sidebar-state-persist data-hash="1u62lit" class="astro-f5yvicm7"><script aria-hidden="true">
41
+ </script><script type="module">var e=`starlight-theme`,t=e=>e===`auto`||e===`dark`||e===`light`?e:`auto`,n=()=>t(typeof localStorage<`u`&&localStorage.getItem(e));function r(t){typeof localStorage<`u`&&localStorage.setItem(e,t===`light`||t===`dark`?t:``)}var i=()=>matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`;function a(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e===`auto`?i():e,r(e)}matchMedia(`(prefers-color-scheme: light)`).addEventListener(`change`,()=>{n()===`auto`&&a(`auto`)});var o=class extends HTMLElement{constructor(){super(),a(n()),this.querySelector(`select`)?.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&a(t(e.currentTarget.value))})}};customElements.define(`starlight-theme-select`,o);</script><script type="module">var e=class extends HTMLElement{constructor(){super();let e=this.querySelector(`select`);e&&(e.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=e.currentTarget.value)}),window.addEventListener(`pageshow`,t=>{if(!t.persisted)return;let n=e.querySelector(`option[selected]`)?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}};customElements.define(`starlight-lang-select`,e);</script></div></div></header><nav class="sidebar print:hidden astro-gqpr5s5a" aria-label="Main"><starlight-menu-button class="print:hidden astro-vvx7mffu"><button aria-expanded="false" aria-label="Menu" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-vvx7mffu"><svg aria-hidden="true" class="open-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg><svg aria-hidden="true" class="close-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="m13.41 12 6.3-6.29a1.004 1.004 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1.004 1.004 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 0 1.42.998.998 0 0 0 1.42 0l6.29-6.3 6.29 6.3a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.42L13.41 12Z"/></svg></button></starlight-menu-button><script type="module">var e=class extends HTMLElement{btn=this.querySelector(`button`);constructor(){super(),this.btn.addEventListener(`click`,()=>this.toggleExpanded());let e=this.closest(`nav`);e&&e.addEventListener(`keyup`,e=>this.closeOnEscape(e)),matchMedia(`(min-width: 50em)`).addEventListener(`change`,()=>this.setExpanded(!1))}setExpanded(e){this.setAttribute(`aria-expanded`,String(e)),document.body.toggleAttribute(`data-mobile-menu-expanded`,e),document.querySelectorAll(`.main-frame, .sl-skip-link`).forEach(t=>{t.toggleAttribute(`inert`,e)})}toggleExpanded(){this.setExpanded(this.getAttribute(`aria-expanded`)!==`true`)}closeOnEscape(e){e.code===`Escape`&&(this.setExpanded(!1),this.btn.focus())}};customElements.define(`starlight-menu-button`,e);</script><div id="starlight__sidebar" class="sidebar-pane astro-gqpr5s5a"><div class="sidebar-content sl-flex astro-gqpr5s5a"><sl-sidebar-state-persist data-hash="070u86e" class="astro-f5yvicm7"><script aria-hidden="true">
42
42
  (() => {
43
43
  try {
44
44
  if (!matchMedia('(min-width: 50em)').matches) return;
@@ -61,7 +61,7 @@
61
61
  );
62
62
  } catch {}
63
63
  })();
64
- </script><ul class="top-level astro-wv7whodv"><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Home</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/social-media/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Social Media</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/charts/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Charts</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/open-source-projects/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Open Source Projects</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/protocols/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Protocols</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/vendors/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Vendors</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/news/" class="large astro-wv7whodv"><span class="astro-wv7whodv">News</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/education/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Education</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/reference/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Reference</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/index-of-terms/" aria-current="page" class="large astro-wv7whodv"><span class="astro-wv7whodv">Index</span></a><ul class="page-toc astro-wv7whodv"><li class="depth-2 astro-wv7whodv"><a href="#a" class="astro-wv7whodv">A</a></li><li class="depth-2 astro-wv7whodv"><a href="#b" class="astro-wv7whodv">B</a></li><li class="depth-2 astro-wv7whodv"><a href="#c" class="astro-wv7whodv">C</a></li><li class="depth-2 astro-wv7whodv"><a href="#d" class="astro-wv7whodv">D</a></li><li class="depth-2 astro-wv7whodv"><a href="#e" class="astro-wv7whodv">E</a></li><li class="depth-2 astro-wv7whodv"><a href="#f" class="astro-wv7whodv">F</a></li><li class="depth-2 astro-wv7whodv"><a href="#g" class="astro-wv7whodv">G</a></li><li class="depth-2 astro-wv7whodv"><a href="#h" class="astro-wv7whodv">H</a></li><li class="depth-2 astro-wv7whodv"><a href="#i" class="astro-wv7whodv">I</a></li><li class="depth-2 astro-wv7whodv"><a href="#k" class="astro-wv7whodv">K</a></li><li class="depth-2 astro-wv7whodv"><a href="#l" class="astro-wv7whodv">L</a></li><li class="depth-2 astro-wv7whodv"><a href="#m" class="astro-wv7whodv">M</a></li><li class="depth-2 astro-wv7whodv"><a href="#n" class="astro-wv7whodv">N</a></li><li class="depth-2 astro-wv7whodv"><a href="#o" class="astro-wv7whodv">O</a></li><li class="depth-2 astro-wv7whodv"><a href="#p" class="astro-wv7whodv">P</a></li><li class="depth-2 astro-wv7whodv"><a href="#q" class="astro-wv7whodv">Q</a></li><li class="depth-2 astro-wv7whodv"><a href="#r" class="astro-wv7whodv">R</a></li><li class="depth-2 astro-wv7whodv"><a href="#s" class="astro-wv7whodv">S</a></li><li class="depth-2 astro-wv7whodv"><a href="#t" class="astro-wv7whodv">T</a></li><li class="depth-2 astro-wv7whodv"><a href="#u" class="astro-wv7whodv">U</a></li><li class="depth-2 astro-wv7whodv"><a href="#v" class="astro-wv7whodv">V</a></li><li class="depth-2 astro-wv7whodv"><a href="#w" class="astro-wv7whodv">W</a></li><li class="depth-2 astro-wv7whodv"><a href="#x" class="astro-wv7whodv">X</a></li><li class="depth-2 astro-wv7whodv"><a href="#y" class="astro-wv7whodv">Y</a></li><li class="depth-2 astro-wv7whodv"><a href="#z" class="astro-wv7whodv">Z</a></li><li class="depth-2 astro-wv7whodv"><a href="#" class="astro-wv7whodv"></a></li></ul></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/contributing/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Contributing</span></a></li></ul><script aria-hidden="true">
64
+ </script><ul class="top-level astro-wv7whodv"><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Home</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/social-media/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Social Media</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/charts/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Charts and Data</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/open-source-projects/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Open Source Projects</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/protocols/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Protocols</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/vendors/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Vendors</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/news/" class="large astro-wv7whodv"><span class="astro-wv7whodv">News</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/education/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Education</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/reference/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Reference</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/index-of-terms/" aria-current="page" class="large astro-wv7whodv"><span class="astro-wv7whodv">Index</span></a><ul class="page-toc astro-wv7whodv"><li class="depth-2 astro-wv7whodv"><a href="#a" class="astro-wv7whodv">A</a></li><li class="depth-2 astro-wv7whodv"><a href="#b" class="astro-wv7whodv">B</a></li><li class="depth-2 astro-wv7whodv"><a href="#c" class="astro-wv7whodv">C</a></li><li class="depth-2 astro-wv7whodv"><a href="#d" class="astro-wv7whodv">D</a></li><li class="depth-2 astro-wv7whodv"><a href="#e" class="astro-wv7whodv">E</a></li><li class="depth-2 astro-wv7whodv"><a href="#f" class="astro-wv7whodv">F</a></li><li class="depth-2 astro-wv7whodv"><a href="#g" class="astro-wv7whodv">G</a></li><li class="depth-2 astro-wv7whodv"><a href="#h" class="astro-wv7whodv">H</a></li><li class="depth-2 astro-wv7whodv"><a href="#i" class="astro-wv7whodv">I</a></li><li class="depth-2 astro-wv7whodv"><a href="#k" class="astro-wv7whodv">K</a></li><li class="depth-2 astro-wv7whodv"><a href="#l" class="astro-wv7whodv">L</a></li><li class="depth-2 astro-wv7whodv"><a href="#m" class="astro-wv7whodv">M</a></li><li class="depth-2 astro-wv7whodv"><a href="#n" class="astro-wv7whodv">N</a></li><li class="depth-2 astro-wv7whodv"><a href="#o" class="astro-wv7whodv">O</a></li><li class="depth-2 astro-wv7whodv"><a href="#p" class="astro-wv7whodv">P</a></li><li class="depth-2 astro-wv7whodv"><a href="#q" class="astro-wv7whodv">Q</a></li><li class="depth-2 astro-wv7whodv"><a href="#r" class="astro-wv7whodv">R</a></li><li class="depth-2 astro-wv7whodv"><a href="#s" class="astro-wv7whodv">S</a></li><li class="depth-2 astro-wv7whodv"><a href="#t" class="astro-wv7whodv">T</a></li><li class="depth-2 astro-wv7whodv"><a href="#u" class="astro-wv7whodv">U</a></li><li class="depth-2 astro-wv7whodv"><a href="#v" class="astro-wv7whodv">V</a></li><li class="depth-2 astro-wv7whodv"><a href="#w" class="astro-wv7whodv">W</a></li><li class="depth-2 astro-wv7whodv"><a href="#x" class="astro-wv7whodv">X</a></li><li class="depth-2 astro-wv7whodv"><a href="#y" class="astro-wv7whodv">Y</a></li><li class="depth-2 astro-wv7whodv"><a href="#z" class="astro-wv7whodv">Z</a></li><li class="depth-2 astro-wv7whodv"><a href="#" class="astro-wv7whodv"></a></li></ul></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/contributing/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Contributing</span></a></li></ul><script aria-hidden="true">
65
65
  (() => {
66
66
  const scroller = document.getElementById('starlight__sidebar');
67
67
  if (!window._starlightScrollRestore || !scroller) return;
@@ -81,7 +81,7 @@
81
81
  <li id="airmar"><a href="../vendors/#airmar">Airmar</a> — Vendors</li>
82
82
  <li id="ais-catcher"><a href="../open-source-projects/#ais-catcher">AIS-catcher</a> — Open Source Projects</li>
83
83
  <li id="allthingzsailing"><a href="../education/#allthingzsailing">AllThingzSailing</a> — Education</li>
84
- <li id="antares-charts"><a href="../charts/#antares-charts">Antares Charts</a> — Charts</li>
84
+ <li id="antares-charts"><a href="../charts/#antares-charts">Antares Charts</a> — Charts and Data</li>
85
85
  <li id="aquatic-av"><a href="../vendors/#aquatic-av">Aquatic AV</a> — Vendors</li>
86
86
  <li id="attainable-adventure-cruising"><a href="../education/#attainable-adventure-cruising">Attainable Adventure Cruising</a> — Education</li>
87
87
  <li id="austral"><a href="../vendors/#austral">Austral</a> — Vendors</li>
@@ -118,6 +118,7 @@
118
118
  <li id="canboatjs"><a href="../open-source-projects/#canboatjs">canboatjs</a> — Open Source Projects</li>
119
119
  <li id="catalina-320-log"><a href="../social-media/#catalina-320-log">Catalina 320 Log</a> — Social Media</li>
120
120
  <li id="chetco"><a href="../vendors/#chetco">Chetco</a> — Vendors</li>
121
+ <li id="citizen-sea"><a href="../charts/#citizen-sea">Citizen Sea</a> — Charts and Data</li>
121
122
  <li id="coelcanth"><a href="../social-media/#coelcanth">coelcanth</a> — Social Media</li>
122
123
  <li id="comar"><a href="../vendors/#comar">Comar</a> — Vendors</li>
123
124
  <li id="copperhill"><a href="../vendors/#copperhill">Copperhill</a> — Vendors</li>
@@ -203,7 +204,7 @@
203
204
  <li id="maiana"><a href="../open-source-projects/#maiana">Maiana</a> — Open Source Projects</li>
204
205
  <li id="maintenance-ros"><a href="../vendors/#maintenance-ros">Maintenance ROS</a> — Vendors</li>
205
206
  <li id="maptattoo"><a href="../vendors/#maptattoo">MAPTATTOO</a> — Vendors</li>
206
- <li id="mapterhorn"><a href="../charts/#mapterhorn">Mapterhorn</a> — Charts</li>
207
+ <li id="mapterhorn"><a href="../charts/#mapterhorn">Mapterhorn</a> — Charts and Data</li>
207
208
  <li id="maretron"><a href="../vendors/#maretron">Maretron</a> — Vendors</li>
208
209
  <li id="marine-chart-viewer"><a href="../open-source-projects/#marine-chart-viewer">Marine Chart Viewer</a> — Open Source Projects</li>
209
210
  <li id="marine-control-server"><a href="../vendors/#marine-control-server">Marine Control Server</a> — Vendors</li>
@@ -227,7 +228,7 @@
227
228
  <li id="nauti-control"><a href="../vendors/#nauti-control">Nauti-Control</a> — Vendors</li>
228
229
  <li id="nautibus"><a href="../vendors/#nautibus">Nautibus</a> — Vendors</li>
229
230
  <li id="nautic-alert"><a href="../vendors/#nautic-alert">Nautic Alert</a> — Vendors</li>
230
- <li id="nautical-chart-catalogs"><a href="../charts/#nautical-chart-catalogs">Nautical Chart Catalogs</a> — Charts</li>
231
+ <li id="nautical-chart-catalogs"><a href="../charts/#nautical-chart-catalogs">Nautical Chart Catalogs</a> — Charts and Data</li>
231
232
  <li id="nautinect"><a href="../vendors/#nautinect">Nautinect</a> — Vendors</li>
232
233
  <li id="navigation-laptops"><a href="../vendors/#navigation-laptops">Navigation Laptops</a> — Vendors</li>
233
234
  <li id="navigation-mac--co"><a href="../social-media/#navigation-mac--co">Navigation Mac &#x26; Co</a> — Social Media</li>
@@ -270,15 +271,19 @@
270
271
  <li id="ole-w-saastad"><a href="../social-media/#ole-w-saastad">Ole W. Saastad</a> — Social Media</li>
271
272
  <li id="onwa"><a href="../vendors/#onwa">Onwa</a> — Vendors</li>
272
273
  <li id="open-boat-projects"><a href="../open-source-projects/#open-boat-projects">Open Boat Projects</a> — Open Source Projects</li>
274
+ <li id="open-earth"><a href="../charts/#open-earth">Open Earth</a> — Charts and Data</li>
273
275
  <li id="open-marine-systems"><a href="../open-source-projects/#open-marine-systems">Open Marine Systems</a> — Open Source Projects</li>
276
+ <li id="openbathy"><a href="../charts/#openbathy">OpenBathy</a> — Charts and Data</li>
274
277
  <li id="opencpn"><a href="../open-source-projects/#opencpn">OpenCPN</a> — Open Source Projects</li>
275
278
  <li id="opencpn-users"><a href="../social-media/#opencpn-users">OpenCPN Users</a> — Social Media</li>
276
279
  <li id="openfairwind"><a href="../open-source-projects/#openfairwind">OpenFairWind</a> — Open Source Projects</li>
277
280
  <li id="openmarine"><a href="../social-media/#openmarine">OpenMarine</a> — Social Media</li>
278
281
  <li id="openmarine-1"><a href="../vendors/#openmarine">OpenMarine</a> — Vendors</li>
279
282
  <li id="openplotter"><a href="../open-source-projects/#openplotter">OpenPlotter</a> — Open Source Projects</li>
280
- <li id="openseamap"><a href="../charts/#openseamap">OpenSeaMap</a> — Charts</li>
283
+ <li id="openseamap"><a href="../charts/#openseamap">OpenSeaMap</a> — Charts and Data</li>
281
284
  <li id="openskipper"><a href="../open-source-projects/#openskipper">OpenSkipper</a> — Open Source Projects</li>
285
+ <li id="opentide"><a href="../charts/#opentide">OpenTide</a> — Charts and Data</li>
286
+ <li id="openwaters"><a href="../charts/#openwaters">OpenWaters</a> — Charts and Data</li>
282
287
  <li id="orca"><a href="../vendors/#orca">Orca</a> — Vendors</li>
283
288
  <li id="osmand"><a href="../vendors/#osmand">OsmAnd</a> — Vendors</li>
284
289
  <li id="out-chasing-stars"><a href="../social-media/#out-chasing-stars">Out Chasing Stars</a> — Social Media</li>
package/public/index.html CHANGED
@@ -38,7 +38,7 @@
38
38
  })();
39
39
  </script><script type="module" src="/@rhizomatics/signalk-boat-tech-directory-plugin/_astro/Search.astro_astro_type_script_index_0_lang.3ca-UBSH.js"></script></div><div class="sl-hidden md:sl-flex print:hidden right-group astro-nczgtkxc"><div class="sl-flex social-icons astro-nczgtkxc"><a href="https://github.com/rhizomatics/boat-tech-directory" rel="me" class="sl-flex astro-cg55etiy"><span class="sr-only astro-cg55etiy">GitHub</span><svg aria-hidden="true" class="astro-cg55etiy astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg></a></div><starlight-theme-select><label style="--sl-select-width: 6.25em" class="astro-r2p65idu"><span class="sr-only astro-r2p65idu">Select theme</span><svg aria-hidden="true" class="icon label-icon astro-r2p65idu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg><select autocomplete="off" class="astro-r2p65idu"><option value="dark" class="astro-r2p65idu">Dark</option><option value="light" class="astro-r2p65idu">Light</option><option value="auto" selected class="astro-r2p65idu">Auto</option></select><svg aria-hidden="true" class="icon caret astro-r2p65idu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg></label></starlight-theme-select><script>
40
40
  StarlightThemeProvider.updatePickers();
41
- </script><script type="module">var e=`starlight-theme`,t=e=>e===`auto`||e===`dark`||e===`light`?e:`auto`,n=()=>t(typeof localStorage<`u`&&localStorage.getItem(e));function r(t){typeof localStorage<`u`&&localStorage.setItem(e,t===`light`||t===`dark`?t:``)}var i=()=>matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`;function a(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e===`auto`?i():e,r(e)}matchMedia(`(prefers-color-scheme: light)`).addEventListener(`change`,()=>{n()===`auto`&&a(`auto`)});var o=class extends HTMLElement{constructor(){super(),a(n()),this.querySelector(`select`)?.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&a(t(e.currentTarget.value))})}};customElements.define(`starlight-theme-select`,o);</script><script type="module">var e=class extends HTMLElement{constructor(){super();let e=this.querySelector(`select`);e&&(e.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=e.currentTarget.value)}),window.addEventListener(`pageshow`,t=>{if(!t.persisted)return;let n=e.querySelector(`option[selected]`)?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}};customElements.define(`starlight-lang-select`,e);</script></div></div></header><nav class="sidebar print:hidden astro-gqpr5s5a" aria-label="Main"><starlight-menu-button class="print:hidden astro-vvx7mffu"><button aria-expanded="false" aria-label="Menu" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-vvx7mffu"><svg aria-hidden="true" class="open-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg><svg aria-hidden="true" class="close-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="m13.41 12 6.3-6.29a1.004 1.004 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1.004 1.004 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 0 1.42.998.998 0 0 0 1.42 0l6.29-6.3 6.29 6.3a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.42L13.41 12Z"/></svg></button></starlight-menu-button><script type="module">var e=class extends HTMLElement{btn=this.querySelector(`button`);constructor(){super(),this.btn.addEventListener(`click`,()=>this.toggleExpanded());let e=this.closest(`nav`);e&&e.addEventListener(`keyup`,e=>this.closeOnEscape(e)),matchMedia(`(min-width: 50em)`).addEventListener(`change`,()=>this.setExpanded(!1))}setExpanded(e){this.setAttribute(`aria-expanded`,String(e)),document.body.toggleAttribute(`data-mobile-menu-expanded`,e),document.querySelectorAll(`.main-frame, .sl-skip-link`).forEach(t=>{t.toggleAttribute(`inert`,e)})}toggleExpanded(){this.setExpanded(this.getAttribute(`aria-expanded`)!==`true`)}closeOnEscape(e){e.code===`Escape`&&(this.setExpanded(!1),this.btn.focus())}};customElements.define(`starlight-menu-button`,e);</script><div id="starlight__sidebar" class="sidebar-pane astro-gqpr5s5a"><div class="sidebar-content sl-flex astro-gqpr5s5a"><sl-sidebar-state-persist data-hash="1u62lit" class="astro-f5yvicm7"><script aria-hidden="true">
41
+ </script><script type="module">var e=`starlight-theme`,t=e=>e===`auto`||e===`dark`||e===`light`?e:`auto`,n=()=>t(typeof localStorage<`u`&&localStorage.getItem(e));function r(t){typeof localStorage<`u`&&localStorage.setItem(e,t===`light`||t===`dark`?t:``)}var i=()=>matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`;function a(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e===`auto`?i():e,r(e)}matchMedia(`(prefers-color-scheme: light)`).addEventListener(`change`,()=>{n()===`auto`&&a(`auto`)});var o=class extends HTMLElement{constructor(){super(),a(n()),this.querySelector(`select`)?.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&a(t(e.currentTarget.value))})}};customElements.define(`starlight-theme-select`,o);</script><script type="module">var e=class extends HTMLElement{constructor(){super();let e=this.querySelector(`select`);e&&(e.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=e.currentTarget.value)}),window.addEventListener(`pageshow`,t=>{if(!t.persisted)return;let n=e.querySelector(`option[selected]`)?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}};customElements.define(`starlight-lang-select`,e);</script></div></div></header><nav class="sidebar print:hidden astro-gqpr5s5a" aria-label="Main"><starlight-menu-button class="print:hidden astro-vvx7mffu"><button aria-expanded="false" aria-label="Menu" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-vvx7mffu"><svg aria-hidden="true" class="open-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg><svg aria-hidden="true" class="close-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="m13.41 12 6.3-6.29a1.004 1.004 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1.004 1.004 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 0 1.42.998.998 0 0 0 1.42 0l6.29-6.3 6.29 6.3a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.42L13.41 12Z"/></svg></button></starlight-menu-button><script type="module">var e=class extends HTMLElement{btn=this.querySelector(`button`);constructor(){super(),this.btn.addEventListener(`click`,()=>this.toggleExpanded());let e=this.closest(`nav`);e&&e.addEventListener(`keyup`,e=>this.closeOnEscape(e)),matchMedia(`(min-width: 50em)`).addEventListener(`change`,()=>this.setExpanded(!1))}setExpanded(e){this.setAttribute(`aria-expanded`,String(e)),document.body.toggleAttribute(`data-mobile-menu-expanded`,e),document.querySelectorAll(`.main-frame, .sl-skip-link`).forEach(t=>{t.toggleAttribute(`inert`,e)})}toggleExpanded(){this.setExpanded(this.getAttribute(`aria-expanded`)!==`true`)}closeOnEscape(e){e.code===`Escape`&&(this.setExpanded(!1),this.btn.focus())}};customElements.define(`starlight-menu-button`,e);</script><div id="starlight__sidebar" class="sidebar-pane astro-gqpr5s5a"><div class="sidebar-content sl-flex astro-gqpr5s5a"><sl-sidebar-state-persist data-hash="070u86e" class="astro-f5yvicm7"><script aria-hidden="true">
42
42
  (() => {
43
43
  try {
44
44
  if (!matchMedia('(min-width: 50em)').matches) return;
@@ -61,7 +61,7 @@
61
61
  );
62
62
  } catch {}
63
63
  })();
64
- </script><ul class="top-level astro-wv7whodv"><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/" aria-current="page" class="large astro-wv7whodv"><span class="astro-wv7whodv">Home</span></a><ul class="page-toc astro-wv7whodv"><li class="depth-3 astro-wv7whodv"><a href="#contribute" class="astro-wv7whodv">Contribute</a></li><li class="depth-2 astro-wv7whodv"><a href="#sections" class="astro-wv7whodv">Sections</a></li></ul></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/social-media/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Social Media</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/charts/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Charts</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/open-source-projects/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Open Source Projects</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/protocols/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Protocols</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/vendors/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Vendors</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/news/" class="large astro-wv7whodv"><span class="astro-wv7whodv">News</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/education/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Education</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/reference/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Reference</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/index-of-terms/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Index</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/contributing/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Contributing</span></a></li></ul><script aria-hidden="true">
64
+ </script><ul class="top-level astro-wv7whodv"><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/" aria-current="page" class="large astro-wv7whodv"><span class="astro-wv7whodv">Home</span></a><ul class="page-toc astro-wv7whodv"><li class="depth-3 astro-wv7whodv"><a href="#contribute" class="astro-wv7whodv">Contribute</a></li><li class="depth-2 astro-wv7whodv"><a href="#sections" class="astro-wv7whodv">Sections</a></li></ul></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/social-media/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Social Media</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/charts/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Charts and Data</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/open-source-projects/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Open Source Projects</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/protocols/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Protocols</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/vendors/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Vendors</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/news/" class="large astro-wv7whodv"><span class="astro-wv7whodv">News</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/education/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Education</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/reference/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Reference</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/index-of-terms/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Index</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/contributing/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Contributing</span></a></li></ul><script aria-hidden="true">
65
65
  (() => {
66
66
  const scroller = document.getElementById('starlight__sidebar');
67
67
  if (!window._starlightScrollRestore || !scroller) return;
@@ -82,9 +82,11 @@
82
82
  <div class="sl-heading-wrapper level-h2"><h2 id="sections">Sections</h2><a class="sl-anchor-link" href="#sections"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 1 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 0 0-1.42-1.42m8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 1 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l3.88-3.89a4.49 4.49 0 0 0 0-6.33M8.83 15.17a1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.92-4.92a1 1 0 1 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42"></path></svg></span><span class="sr-only" data-pagefind-ignore="">Section titled “Sections”</span></a></div>
83
83
  <ul>
84
84
  <li id="social-media"><a href="./social-media/">Social Media</a> — Blogs, vlogs, video channels and forums.</li>
85
- <li id="charts"><a href="./charts/">Charts</a> — Open and volunteer charting projects</li>
85
+ <li id="charts-and-data"><a href="./charts/">Charts and Data</a> — Open and volunteer charting projects</li>
86
86
  <li id="open-source-projects"><a href="./open-source-projects/">Open Source Projects</a> — Software and firmware, including NMEA libraries</li>
87
87
  <li id="protocols"><a href="./protocols/">Protocols</a> — NMEA, Seatalk, SAE and other marine networking standards</li>
88
88
  <li id="vendors"><a href="./vendors/">Vendors</a> — Hardware and software vendors, and specialist consultants.</li>
89
- <li id="news-education-and-reference"><a href="./education/">News, Education and Reference</a> — News, Courses, tutorials and technical references</li>
89
+ <li id="education-and-reference"><a href="./education/">Education and Reference</a> — Courses, certification, tutorials</li>
90
+ <li id="news"><a href="./news/">News</a> — News and reviews</li>
91
+ <li id="reference"><a href="./reference/">Reference</a> —Technical references</li>
90
92
  </ul></div><footer class="sl-flex astro-xhxjzfa7"><div class="meta sl-flex astro-xhxjzfa7"></div><div class="pagination-links print:hidden astro-jgq3vlii" dir="ltr"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/social-media/" rel="next" class="astro-jgq3vlii"><svg aria-hidden="true" class="astro-jgq3vlii astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M17.92 11.62a1.001 1.001 0 0 0-.21-.33l-5-5a1.003 1.003 0 1 0-1.42 1.42l3.3 3.29H7a1 1 0 0 0 0 2h7.59l-3.3 3.29a1.002 1.002 0 0 0 .325 1.639 1 1 0 0 0 1.095-.219l5-5a1 1 0 0 0 .21-.33 1 1 0 0 0 0-.76Z"/></svg><span class="astro-jgq3vlii">Next<br class="astro-jgq3vlii"><span class="link-title astro-jgq3vlii">Social Media</span></span></a></div></footer></div></div></main></div></div></div></div></body></html>
@@ -23,11 +23,13 @@ Contributions welcome! Read the [contribution guidelines](./contributing/) first
23
23
  [Section titled “Sections”](#sections)
24
24
 
25
25
  * [Social Media](./social-media/) — Blogs, vlogs, video channels and forums.
26
- * [Charts](./charts/) — Open and volunteer charting projects
26
+ * [Charts and Data](./charts/) — Open and volunteer charting projects
27
27
  * [Open Source Projects](./open-source-projects/) — Software and firmware, including NMEA libraries
28
28
  * [Protocols](./protocols/) — NMEA, Seatalk, SAE and other marine networking standards
29
29
  * [Vendors](./vendors/) — Hardware and software vendors, and specialist consultants.
30
- * [News, Education and Reference](./education/) — News, Courses, tutorials and technical references
30
+ * [Education and Reference](./education/) — Courses, certification, tutorials
31
+ * [News](./news/) — News and reviews
32
+ * [Reference](./reference/) —Technical references
31
33
 
32
34
  # Index
33
35
 
@@ -45,7 +47,7 @@ Contributions welcome! Read the [contribution guidelines](./contributing/) first
45
47
  * [Airmar](../vendors/#airmar) — Vendors
46
48
  * [AIS-catcher](../open-source-projects/#ais-catcher) — Open Source Projects
47
49
  * [AllThingzSailing](../education/#allthingzsailing) — Education
48
- * [Antares Charts](../charts/#antares-charts) — Charts
50
+ * [Antares Charts](../charts/#antares-charts) — Charts and Data
49
51
  * [Aquatic AV](../vendors/#aquatic-av) — Vendors
50
52
  * [Attainable Adventure Cruising](../education/#attainable-adventure-cruising) — Education
51
53
  * [Austral](../vendors/#austral) — Vendors
@@ -86,6 +88,7 @@ Contributions welcome! Read the [contribution guidelines](./contributing/) first
86
88
  * [canboatjs](../open-source-projects/#canboatjs) — Open Source Projects
87
89
  * [Catalina 320 Log](../social-media/#catalina-320-log) — Social Media
88
90
  * [Chetco](../vendors/#chetco) — Vendors
91
+ * [Citizen Sea](../charts/#citizen-sea) — Charts and Data
89
92
  * [coelcanth](../social-media/#coelcanth) — Social Media
90
93
  * [Comar](../vendors/#comar) — Vendors
91
94
  * [Copperhill](../vendors/#copperhill) — Vendors
@@ -189,7 +192,7 @@ Contributions welcome! Read the [contribution guidelines](./contributing/) first
189
192
  * [Maiana](../open-source-projects/#maiana) — Open Source Projects
190
193
  * [Maintenance ROS](../vendors/#maintenance-ros) — Vendors
191
194
  * [MAPTATTOO](../vendors/#maptattoo) — Vendors
192
- * [Mapterhorn](../charts/#mapterhorn) — Charts
195
+ * [Mapterhorn](../charts/#mapterhorn) — Charts and Data
193
196
  * [Maretron](../vendors/#maretron) — Vendors
194
197
  * [Marine Chart Viewer](../open-source-projects/#marine-chart-viewer) — Open Source Projects
195
198
  * [Marine Control Server](../vendors/#marine-control-server) — Vendors
@@ -215,7 +218,7 @@ Contributions welcome! Read the [contribution guidelines](./contributing/) first
215
218
  * [Nauti-Control](../vendors/#nauti-control) — Vendors
216
219
  * [Nautibus](../vendors/#nautibus) — Vendors
217
220
  * [Nautic Alert](../vendors/#nautic-alert) — Vendors
218
- * [Nautical Chart Catalogs](../charts/#nautical-chart-catalogs) — Charts
221
+ * [Nautical Chart Catalogs](../charts/#nautical-chart-catalogs) — Charts and Data
219
222
  * [Nautinect](../vendors/#nautinect) — Vendors
220
223
  * [Navigation Laptops](../vendors/#navigation-laptops) — Vendors
221
224
  * [Navigation Mac & Co](../social-media/#navigation-mac--co) — Social Media
@@ -260,15 +263,19 @@ Contributions welcome! Read the [contribution guidelines](./contributing/) first
260
263
  * [Ole W. Saastad](../social-media/#ole-w-saastad) — Social Media
261
264
  * [Onwa](../vendors/#onwa) — Vendors
262
265
  * [Open Boat Projects](../open-source-projects/#open-boat-projects) — Open Source Projects
266
+ * [Open Earth](../charts/#open-earth) — Charts and Data
263
267
  * [Open Marine Systems](../open-source-projects/#open-marine-systems) — Open Source Projects
268
+ * [OpenBathy](../charts/#openbathy) — Charts and Data
264
269
  * [OpenCPN](../open-source-projects/#opencpn) — Open Source Projects
265
270
  * [OpenCPN Users](../social-media/#opencpn-users) — Social Media
266
271
  * [OpenFairWind](../open-source-projects/#openfairwind) — Open Source Projects
267
272
  * [OpenMarine](../social-media/#openmarine) — Social Media
268
273
  * [OpenMarine](../vendors/#openmarine) — Vendors
269
274
  * [OpenPlotter](../open-source-projects/#openplotter) — Open Source Projects
270
- * [OpenSeaMap](../charts/#openseamap) — Charts
275
+ * [OpenSeaMap](../charts/#openseamap) — Charts and Data
271
276
  * [OpenSkipper](../open-source-projects/#openskipper) — Open Source Projects
277
+ * [OpenTide](../charts/#opentide) — Charts and Data
278
+ * [OpenWaters](../charts/#openwaters) — Charts and Data
272
279
  * [Orca](../vendors/#orca) — Vendors
273
280
  * [OsmAnd](../vendors/#osmand) — Vendors
274
281
  * [Out Chasing Stars](../social-media/#out-chasing-stars) — Social Media
@@ -450,16 +457,21 @@ Contributions welcome! Read the [contribution guidelines](./contributing/) first
450
457
 
451
458
  * [8-bit Sailing](../social-media/#8-bit-sailing) — Social Media
452
459
 
453
- # Charts
460
+ # Charts and Data
454
461
 
455
462
  > Open and volunteer charting projects.
456
463
 
457
- Open source, crowd-sourced and volunteer chart sources.
464
+ Open source, crowd-sourced and volunteer charts and other data sources.
458
465
 
459
466
  * [Antares Charts](https://www.antarescharts.co.uk) - Volunteer project for charting and pilotage of West Coast Scotland.
467
+ * [Citizen Sea](https://www.hubocean.earth/citizen-sea) - Citizen science marine biology app, iOS and Android.
460
468
  * [Mapterhorn](https://mapterhorn.com) - Open Source terrain tiles for interactive web map visualizations.
461
469
  * ![](../images/icons/github.ico) [Nautical Chart Catalogs](https://chartcatalogs.github.io) - Machine readable index of free to use nautical charts.
470
+ * [OpenBathy](https://www.openbathy.org) - Open access bathymetry data.
471
+ * [Open Earth](https://www.openearth.nl) - Dutch open marine data, including detailed Wadden Sea mapping.
462
472
  * [OpenSeaMap](https://www.openseamap.org/index.php?id=openseamap\&L=1) - Open sourced charts, in English, German, Spanish, French, Italian, Russian and Arabic.
473
+ * [OpenTide](https://opentide.io) - Crowd sourced tidal data, with SignalK plugin.
474
+ * [OpenWaters](https://openwaters.io) - Open source mapping, tides and bathymetry.
463
475
 
464
476
  # Contributing
465
477
 
@@ -4,19 +4,19 @@
4
4
 
5
5
  > A curated list of marine electronics, NMEA, SignalK, OpenCPN and other open source boat tech projects, vendor hardware and software, blogs and forums.
6
6
 
7
- > A curated list of boat tech stuff. Boat tech includes all things NMEA and Seatalk, marine internet, open source projects, hardware vendors, educational resources, blogs, vlogs and forums. This listing is presented as best endeavours and with public license ([CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/legalcode.en)), contains no advertisements, paid placements or referrals. ![Boat Tech Directory logo](/@rhizomatics/signalk-boat-tech-directory-plugin/_astro/social-preview.BBl0e1iQ_Z4TTY1.webp) ### Contribute [Section titled “Contribute”](#contribute) Contributions welcome! Read the [contribution guidelines](./contributing/) first. ## Sections [Section titled “Sections”](#sections) * [Social Media](./social-media/) — Blogs, vlogs, video channels and forums. * [Charts](./charts/) — Open and volunteer charting projects * [Open Source Projects](./open-source-projects/) — Software and firmware, including NMEA libraries * [Protocols](./protocols/) — NMEA, Seatalk, SAE and other marine networking standards * [Vendors](./vendors/) — Hardware and software vendors, and specialist consultants. * [News, Education and Reference](./education/) — News, Courses, tutorials and technical references
7
+ > A curated list of boat tech stuff. Boat tech includes all things NMEA and Seatalk, marine internet, open source projects, hardware vendors, educational resources, blogs, vlogs and forums. This listing is presented as best endeavours and with public license ([CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/legalcode.en)), contains no advertisements, paid placements or referrals. ![Boat Tech Directory logo](/@rhizomatics/signalk-boat-tech-directory-plugin/_astro/social-preview.BBl0e1iQ_Z4TTY1.webp) ### Contribute [Section titled “Contribute”](#contribute) Contributions welcome! Read the [contribution guidelines](./contributing/) first. ## Sections [Section titled “Sections”](#sections) * [Social Media](./social-media/) — Blogs, vlogs, video channels and forums. * [Charts and Data](./charts/) — Open and volunteer charting projects * [Open Source Projects](./open-source-projects/) — Software and firmware, including NMEA libraries * [Protocols](./protocols/) — NMEA, Seatalk, SAE and other marine networking standards * [Vendors](./vendors/) — Hardware and software vendors, and specialist consultants. * [Education and Reference](./education/) — Courses, certification, tutorials * [News](./news/) — News and reviews * [Reference](./reference/) —Technical references
8
8
 
9
9
  # Index
10
10
 
11
11
  > A-Z index of every entry in the directory.
12
12
 
13
- ## A [Section titled “A”](#a) * [Actisense](../vendors/#actisense) — Vendors * [Actisense Hub](../education/#actisense-hub) — Education * [Actisense Media](../news/#actisense-media) — News * [Adrena](../vendors/#adrena) — Vendors * [AggSoft](../vendors/#aggsoft) — Vendors * [Airmar](../vendors/#airmar) — Vendors * [AIS-catcher](../open-source-projects/#ais-catcher) — Open Source Projects * [AllThingzSailing](../education/#allthingzsailing) — Education * [Antares Charts](../charts/#antares-charts) — Charts * [Aquatic AV](../vendors/#aquatic-av) — Vendors * [Attainable Adventure Cruising](../education/#attainable-adventure-cruising) — Education * [Austral](../vendors/#austral) — Vendors * [AvNav](../open-source-projects/#avnav) — Open Source Projects * [Avtex](../vendors/#avtex) — Vendors ## B [Section titled “B”](#b) * [B\&G](../vendors/#bg) — Vendors * [Bareboat Necessities](../open-source-projects/#bareboat-necessities) — Open Source Projects * [Beetronics](../vendors/#beetronics) — Vendors * [Bergie](../social-media/#bergie) — Social Media * [BLE](../protocols/#ble) — Standards and Protocols * [Blue Sea](../vendors/#blue-sea) — Vendors * [BlueBridge](../open-source-projects/#bluebridge) — Open Source Projects * [Bluestone](../vendors/#bluestone) — Vendors * [Boat Electrical and Electronic Q\&A](../social-media/#boat-electrical-and-electronic-qa) — Social Media * [Boat HowTo](../education/#boat-howto) — Education * [boatdesign.net](../social-media/#boatdesignnet) — Social Media * [BoatHackers](../social-media/#boathackers) — Social Media * [Boating with the Baileys](../social-media/#boating-with-the-baileys) — Social Media * [BoatMonitor32](../vendors/#boatmonitor32) — Vendors * [BoatOpenIO](../open-source-projects/#boatopenio) — Open Source Projects * [Boats and Bits](../social-media/#boats-and-bits) — Social Media * [BoatyPi](../open-source-projects/#boatypi) — Open Source Projects * [BrineOMatic](../open-source-projects/#brineomatic) — Open Source Projects * [bt-sensors-plugin](../protocols/#bt-sensors-plugin) — Standards and Protocols * [BVM](../vendors/#bvm) — Vendors ## C [Section titled “C”](#c) * [Caladh](../reference/#caladh) — Reference * [CAN Boat](../open-source-projects/#can-boat) — Open Source Projects * [canboatjs](../open-source-projects/#canboatjs) — Open Source Projects * [Catalina 320 Log](../social-media/#catalina-320-log) — Social Media * [Chetco](../vendors/#chetco) — Vendors * [coelcanth](../social-media/#coelcanth) — Social Media * [Comar](../vendors/#comar) — Vendors * [Copperhill](../vendors/#copperhill) — Vendors * [Cricalix](../social-media/#cricalix) — Social Media * [Crimp](../vendors/#crimp) — Vendors * [Cruising Solutions](../vendors/#cruising-solutions) — Vendors * [Cybernet](../vendors/#cybernet) — Vendors * [Cyclops Marine](../vendors/#cyclops-marine) — Vendors ## D [Section titled “D”](#d) * [d3kOS](../open-source-projects/#d3kos) — Open Source Projects * [Daniamant](../vendors/#daniamant) — Vendors * [DeepBlue](../vendors/#deepblue) — Vendors * [Digital Yacht](../vendors/#digital-yacht) — Vendors * [DiscoTime](../open-source-projects/#discotime) — Open Source Projects * [DIY Onboard](../social-media/#diy-onboard) — Social Media ## E [Section titled “E”](#e) * [EasyHub](../vendors/#easyhub) — Vendors * [eInk Labels for SignalK](../open-source-projects/#eink-labels-for-signalk) — Open Source Projects * [em-trak](../vendors/#em-trak) — Vendors * [ESP32 NMEA2000](../open-source-projects/#esp32-nmea2000) — Open Source Projects * [Expedition Marine](../vendors/#expedition-marine) — Vendors ## F [Section titled “F”](#f) * [Francis Fustier](../vendors/#francis-fustier) — Vendors * [Furuno](../vendors/#furuno) — Vendors ## G [Section titled “G”](#g) * [Gadget Pool](../vendors/#gadget-pool) — Vendors * [Galadriel Plotter](../open-source-projects/#galadriel-plotter) — Open Source Projects * [Garmin](../vendors/#garmin) — Vendors * [Garmin BlueNet](../protocols/#garmin-bluenet) — Standards and Protocols * [Garmin Marine Network](../protocols/#garmin-marine-network) — Standards and Protocols * [Gary Woodruff](../social-media/#gary-woodruff) — Social Media * [gedad](../vendors/#gedad) — Vendors * [go-nmea](../open-source-projects/#go-nmea) — Open Source Projects * [GPS NMEA 0183 Messaging Protocol 101](../education/#gps-nmea-0183-messaging-protocol-101) — Education * [gpsd](../open-source-projects/#gpsd) — Open Source Projects * [Guardian Digital](../vendors/#guardian-digital) — Vendors * [GWeatherRouting](../open-source-projects/#gweatherrouting) — Open Source Projects * [gypsy](../open-source-projects/#gypsy) — Open Source Projects ## H [Section titled “H”](#h) * [Hacking Family](../social-media/#hacking-family) — Social Media * [HAT Labs](../vendors/#hat-labs) — Vendors * [Hello Sailor](../vendors/#hello-sailor) — Vendors * [Humminbird](../vendors/#humminbird) — Vendors ## I [Section titled “I”](#i) * [ICOM](../vendors/#icom) — Vendors * [IEC61162](../protocols/#iec61162) — Standards and Protocols * [Ilma](../open-source-projects/#ilma) — Open Source Projects * [Impulse](../vendors/#impulse) — Vendors * [imud](../open-source-projects/#imud) — Open Source Projects * [iNav4u](../vendors/#inav4u) — Vendors ## K [Section titled “K”](#k) * [Kicker Audio](../vendors/#kicker-audio) — Vendors * [Kip](../open-source-projects/#kip) — Open Source Projects * [KPlex](../open-source-projects/#kplex) — Open Source Projects ## L [Section titled “L”](#l) * [LCJ Capteurs](../vendors/#lcj-capteurs) — Vendors * [libWeatherRouting](../open-source-projects/#libweatherrouting) — Open Source Projects * [Lille Ø](../reference/#lille-%C3%B8) — Reference * [Lille Ø](../social-media/#lille-%C3%B8) — Social Media * [LoRaWan](../protocols/#lorawan) — Standards and Protocols * [Lowrance](../vendors/#lowrance) — Vendors * [LuckGRIB](../vendors/#luckgrib) — Vendors * [Luissa 351](../vendors/#luissa-351) — Vendors ## M [Section titled “M”](#m) * [Maiana](../open-source-projects/#maiana) — Open Source Projects * [Maintenance ROS](../vendors/#maintenance-ros) — Vendors * [MAPTATTOO](../vendors/#maptattoo) — Vendors * [Mapterhorn](../charts/#mapterhorn) — Charts * [Maretron](../vendors/#maretron) — Vendors * [Marine Chart Viewer](../open-source-projects/#marine-chart-viewer) — Open Source Projects * [Marine Control Server](../vendors/#marine-control-server) — Vendors * [Marine Data Solutions](../vendors/#marine-data-solutions) — Vendors * [Marine Electronics Journal](../news/#marine-electronics-journal) — News * [MarineDCAC](../vendors/#marinedcac) — Vendors * [MarineYachtRadar](../open-source-projects/#marineyachtradar) — Open Source Projects * [Marinux](../open-source-projects/#marinux) — Open Source Projects * [Matsutec](../vendors/#matsutec) — Vendors * [Meco Training](../education/#meco-training) — Education * [Meltemus](../vendors/#meltemus) — Vendors * [MicroNet](../protocols/#micronet---raymarine-owned-proprietary-wireless-protocol-for) — Standards and Protocols * [minmea](../open-source-projects/#minmea) — Open Source Projects * [MQTT](../protocols/#mqtt) — Standards and Protocols * [Mr Lopez](../education/#mr-lopez) — Education * [MySmartBoat](../vendors/#mysmartboat) — Vendors ## N [Section titled “N”](#n) * [NASA Marine](../vendors/#nasa-marine) — Vendors * [Nauti-Control](../vendors/#nauti-control) — Vendors * [Nautibus](../vendors/#nautibus) — Vendors * [Nautic Alert](../vendors/#nautic-alert) — Vendors * [Nautical Chart Catalogs](../charts/#nautical-chart-catalogs) — Charts * [Nautinect](../vendors/#nautinect) — Vendors * [Navigation Laptops](../vendors/#navigation-laptops) — Vendors * [Navigation Mac & Co](../social-media/#navigation-mac--co) — Social Media * [Navigatrix](../vendors/#navigatrix) — Vendors * [Navily](../vendors/#navily) — Vendors * [Navimetrix](../vendors/#navimetrix) — Vendors * [Navinet](../vendors/#navinet) — Vendors * [Navstation](../vendors/#navstation) — Vendors * [Nexus](../protocols/#nexus) — Standards and Protocols * [Nick Hayward](../social-media/#nick-hayward) — Social Media * [NKE](../vendors/#nke) — Vendors * [nm2k](../open-source-projects/#nm2k) — Open Source Projects * [NMEA 2000 Solutions](../vendors/#nmea-2000-solutions) — Vendors * [NMEA 2000 Support Group](../social-media/#nmea-2000-support-group) — Social Media * [NMEA 2000 Technical Forum](../social-media/#nmea-2000-technical-forum) — Social Media * [NMEA Certification and Training](../education/#nmea-certification-and-training) — Education * [NMEA Conference and Expo](../education/#nmea-conference-and-expo) — Education * [nmea crate](../open-source-projects/#nmea-crate) — Open Source Projects * [NMEA FAQ](../reference/#nmea-faq) — Reference * [NMEA OneNet](../protocols/#nmea-onenet) — Standards and Protocols * [NMEA over IP](../protocols/#nmea-over-ip) — Standards and Protocols * [NMEA Revealed](../reference/#nmea-revealed) — Reference * [nmea-simple](../open-source-projects/#nmea-simple) — Open Source Projects * [nmea0183](../open-source-projects/#nmea0183) — Open Source Projects * [NMEA0183](../protocols/#nmea0183) — Standards and Protocols * [NMEA2000](../open-source-projects/#nmea2000) — Open Source Projects * [NMEA2000](../protocols/#nmea2000) — Standards and Protocols * [NMEA2000\_ais\_wifi\_gw](../open-source-projects/#nmea2000_ais_wifi_gw) — Open Source Projects * [NMEA2000\_esp32](../open-source-projects/#nmea2000_esp32) — Open Source Projects * [NMEAParser](../open-source-projects/#nmeaparser) — Open Source Projects * [nmeasim](../open-source-projects/#nmeasim) — Open Source Projects * [NoForeignLand](../vendors/#noforeignland) — Vendors ## O [Section titled “O”](#o) * [Ocean Science Technology](../education/#ocean-science-technology) — Education * [Ocean Signal](../vendors/#ocean-signal) — Vendors * [Oceanav](../vendors/#oceanav) — Vendors * [Oceanic Systems](../vendors/#oceanic-systems) — Vendors * [Ole W. Saastad](../social-media/#ole-w-saastad) — Social Media * [Onwa](../vendors/#onwa) — Vendors * [Open Boat Projects](../open-source-projects/#open-boat-projects) — Open Source Projects * [Open Marine Systems](../open-source-projects/#open-marine-systems) — Open Source Projects * [OpenCPN](../open-source-projects/#opencpn) — Open Source Projects * [OpenCPN Users](../social-media/#opencpn-users) — Social Media * [OpenFairWind](../open-source-projects/#openfairwind) — Open Source Projects * [OpenMarine](../social-media/#openmarine) — Social Media * [OpenMarine](../vendors/#openmarine) — Vendors * [OpenPlotter](../open-source-projects/#openplotter) — Open Source Projects * [OpenSeaMap](../charts/#openseamap) — Charts * [OpenSkipper](../open-source-projects/#openskipper) — Open Source Projects * [Orca](../vendors/#orca) — Vendors * [OsmAnd](../vendors/#osmand) — Vendors * [Out Chasing Stars](../social-media/#out-chasing-stars) — Social Media ## P [Section titled “P”](#p) * [Pacific Yacht Systems](../social-media/#pacific-yacht-systems) — Social Media * [Pacific Yacht Systems](../vendors/#pacific-yacht-systems) — Vendors * [PAJ GPS](../vendors/#paj-gps) — Vendors * [Panbo](../news/#panbo) — News * [Panbo](../social-media/#panbo) — Social Media * [PCNautic](../vendors/#pcnautic) — Vendors * [Peplink](../vendors/#peplink) — Vendors * [Philippi](../vendors/#philippi) — Vendors * [Pitufino](../vendors/#pitufino) — Vendors * [Pixel Sur Mer](../vendors/#pixel-sur-mer) — Vendors * [Poynting](../vendors/#poynting) — Vendors * [PredictWind DataHub](../vendors/#predictwind-datahub) — Vendors * [Project Bob](../social-media/#project-bob) — Social Media * [PyGPSClient](../open-source-projects/#pygpsclient) — Open Source Projects * [pynmea2](../open-source-projects/#pynmea2) — Open Source Projects * [PyPilot](../open-source-projects/#pypilot) — Open Source Projects * [Pyssel](../social-media/#pyssel) — Social Media ## Q [Section titled “Q”](#q) * [Quark](../vendors/#quark) — Vendors ## R [Section titled “R”](#r) * [Raspberry for Sailing](../social-media/#raspberry-for-sailing) — Social Media * [Raspberry Pi for Boats](../social-media/#raspberry-pi-for-boats) — Social Media * [Raspmarine](../vendors/#raspmarine) — Vendors * [Raymarine](../vendors/#raymarine) — Vendors * [RayNet](../protocols/#raynet) — Standards and Protocols * [Renogy](../vendors/#renogy) — Vendors * [Rhizomatics](../open-source-projects/#rhizomatics) — Open Source Projects * [ROB](../open-source-projects/#rob) — Open Source Projects * [Rose Point](../vendors/#rose-point) — Vendors * [Rosuku](../vendors/#rosuku) — Vendors ## S [Section titled “S”](#s) * [SAE J1587/J1708](../protocols/#sae-j1587j1708) — Standards and Protocols * [SAE J1939](../protocols/#sae-j1939) — Standards and Protocols * [Safiery](../vendors/#safiery) — Vendors * [Sail Logger](../vendors/#sail-logger) — Vendors * [Sail-O-Vision](../open-source-projects/#sail-o-vision) — Open Source Projects * [Sailing Performance](../vendors/#sailing-performance) — Vendors * [Sailor Hat for Raspberry Pi](../vendors/#sailor-hat-for-raspberry-pi) — Vendors * [SailorGuard](../vendors/#sailorguard) — Vendors * [SailorsLog](../vendors/#sailorslog) — Vendors * [SailRouter](../vendors/#sailrouter) — Vendors * [SailSense](../vendors/#sailsense) — Vendors * [SailServer](../vendors/#sailserver) — Vendors * [Sailtrack](../open-source-projects/#sailtrack) — Open Source Projects * [SailTrack](../vendors/#sailtrack) — Vendors * [Salty Lass](../reference/#salty-lass) — Reference * [SavvyNavvy](../vendors/#savvynavvy) — Vendors * [Scadys](../vendors/#scadys) — Vendors * [Sea Jade](../reference/#sea-jade) — Reference * [Seabits](../social-media/#seabits) — Social Media * [Seably](../education/#seably) — Education * [SeaIQ](../vendors/#seaiq) — Vendors * [SeaPeople](../vendors/#seapeople) — Vendors * [Seatalk 1](../protocols/#seatalk-1) — Standards and Protocols * [Seatalk NG](../protocols/#seatalk-ng) — Standards and Protocols * [Seatalk Technical Reference](../reference/#seatalk-technical-reference) — Reference * [Seatech Systems](../vendors/#seatech-systems) — Vendors * [See Sailing](../vendors/#see-sailing) — Vendors * [Sens32](../open-source-projects/#sens32) — Open Source Projects * [Sensar Marine](../vendors/#sensar-marine) — Vendors * [Several SignalK plugins are available to expose boat data over MQTT, or pull MQTT data into SignalK, for example reading temperature sensors](../protocols/#several-signalk-plugins-are-available-to-expose-boat-data-ov) — Standards and Protocols * [Shielded Twisted Pair Ethernet](../protocols/#shielded-twisted-pair-ethernet) — Standards and Protocols * [Shipmodul](../vendors/#shipmodul) — Vendors * [SI-TEX](../vendors/#si-tex) — Vendors * [SignalK](../open-source-projects/#signalk) — Open Source Projects * [SignalK](../protocols/#signalk) — Standards and Protocols * [SignalK Google Group](../social-media/#signalk-google-group) — Social Media * [Simarine](../vendors/#simarine) — Vendors * [SimNet](../protocols/#simnet) — Standards and Protocols * [Simrad](../vendors/#simrad) — Vendors * [Siren Marine](../vendors/#siren-marine) — Vendors * [SK Pang Electronics](../vendors/#sk-pang-electronics) — Vendors * [SKipper](../vendors/#skipper) — Vendors * [Skippo](../vendors/#skippo) — Vendors * [Smart Boat Innovations](../open-source-projects/#smart-boat-innovations) — Open Source Projects * [Smart Boat Innovations](../social-media/#smart-boat-innovations) — Social Media * [Smart Boat Systems](../vendors/#smart-boat-systems) — Vendors * [Smartboatia](../vendors/#smartboatia) — Vendors * [SmartBoats](../news/#smartboats) — News * [SmartDock](../vendors/#smartdock) — Vendors * [SV Apres](../social-media/#sv-apres) — Social Media * [SY Bockra](../social-media/#sy-bockra) — Social Media * [SY Sea Jade Boatstuff](../social-media/#sy-sea-jade-boatstuff) — Social Media ## T [Section titled “T”](#t) * [TCP](../protocols/#tcp) — Standards and Protocols * [The Boat App](../reference/#the-boat-app) — Reference * [The Boat App](../vendors/#the-boat-app) — Vendors * [The Florida Captain](../social-media/#the-florida-captain) — Social Media * [The Hull Truth](../social-media/#the-hull-truth) — Social Media * [The Low Cost Sailor](../social-media/#the-low-cost-sailor) — Social Media * [TimeZero](../vendors/#timezero) — Vendors * [Tinley](../vendors/#tinley) — Vendors * [Tom Seahorse](../social-media/#tom-seahorse) — Social Media * [Toolbox Talks](../education/#toolbox-talks) — Education * [Topargee](../vendors/#topargee) — Vendors * [Tweeds Marine](../vendors/#tweeds-marine) — Vendors * [TwoCan](../open-source-projects/#twocan) — Open Source Projects ## U [Section titled “U”](#u) * [UDP](../protocols/#udp) — Standards and Protocols ## V [Section titled “V”](#v) * [Vakaros](../vendors/#vakaros) — Vendors * [Veinland](../vendors/#veinland) — Vendors * [Vela Navgea](../vendors/#vela-navgea) — Vendors * [vendors](../protocols/#vendors) — Standards and Protocols * [Venus](../open-source-projects/#venus) — Open Source Projects * [Veratron](../vendors/#veratron) — Vendors * [Vesscomm](../vendors/#vesscomm) — Vendors * [Vessel Vault](../vendors/#vessel-vault) — Vendors * [Victron](../vendors/#victron) — Vendors * [Vircru](../vendors/#vircru) — Vendors ## W [Section titled “W”](#w) * [Weatherdock](../vendors/#weatherdock) — Vendors * [Wegmatt](../vendors/#wegmatt) — Vendors * [Wema](../vendors/#wema) — Vendors * [WilhemSK](../vendors/#wilhemsk) — Vendors ## X [Section titled “X”](#x) * [Xilje](../open-source-projects/#xilje) — Open Source Projects ## Y [Section titled “Y”](#y) * [Yacht](../news/#yacht) — News * [Yacht Controller](../vendors/#yacht-controller) — Vendors * [Yacht Devices](../vendors/#yacht-devices) — Vendors * [Yachtara](../vendors/#yachtara) — Vendors * [Yakbitz](../vendors/#yakbitz) — Vendors ## Z [Section titled “Z”](#z) * [Zapfware](../vendors/#zapfware) — Vendors * [Zapped Myself](../social-media/#zapped-myself) — Social Media * [Zigbee](../protocols/#zigbee) — Standards and Protocols * [Zigboat](../vendors/#zigboat) — Vendors ## * [8-bit Sailing](../social-media/#8-bit-sailing) — Social Media
13
+ ## A [Section titled “A”](#a) * [Actisense](../vendors/#actisense) — Vendors * [Actisense Hub](../education/#actisense-hub) — Education * [Actisense Media](../news/#actisense-media) — News * [Adrena](../vendors/#adrena) — Vendors * [AggSoft](../vendors/#aggsoft) — Vendors * [Airmar](../vendors/#airmar) — Vendors * [AIS-catcher](../open-source-projects/#ais-catcher) — Open Source Projects * [AllThingzSailing](../education/#allthingzsailing) — Education * [Antares Charts](../charts/#antares-charts) — Charts and Data * [Aquatic AV](../vendors/#aquatic-av) — Vendors * [Attainable Adventure Cruising](../education/#attainable-adventure-cruising) — Education * [Austral](../vendors/#austral) — Vendors * [AvNav](../open-source-projects/#avnav) — Open Source Projects * [Avtex](../vendors/#avtex) — Vendors ## B [Section titled “B”](#b) * [B\&G](../vendors/#bg) — Vendors * [Bareboat Necessities](../open-source-projects/#bareboat-necessities) — Open Source Projects * [Beetronics](../vendors/#beetronics) — Vendors * [Bergie](../social-media/#bergie) — Social Media * [BLE](../protocols/#ble) — Standards and Protocols * [Blue Sea](../vendors/#blue-sea) — Vendors * [BlueBridge](../open-source-projects/#bluebridge) — Open Source Projects * [Bluestone](../vendors/#bluestone) — Vendors * [Boat Electrical and Electronic Q\&A](../social-media/#boat-electrical-and-electronic-qa) — Social Media * [Boat HowTo](../education/#boat-howto) — Education * [boatdesign.net](../social-media/#boatdesignnet) — Social Media * [BoatHackers](../social-media/#boathackers) — Social Media * [Boating with the Baileys](../social-media/#boating-with-the-baileys) — Social Media * [BoatMonitor32](../vendors/#boatmonitor32) — Vendors * [BoatOpenIO](../open-source-projects/#boatopenio) — Open Source Projects * [Boats and Bits](../social-media/#boats-and-bits) — Social Media * [BoatyPi](../open-source-projects/#boatypi) — Open Source Projects * [BrineOMatic](../open-source-projects/#brineomatic) — Open Source Projects * [bt-sensors-plugin](../protocols/#bt-sensors-plugin) — Standards and Protocols * [BVM](../vendors/#bvm) — Vendors ## C [Section titled “C”](#c) * [Caladh](../reference/#caladh) — Reference * [CAN Boat](../open-source-projects/#can-boat) — Open Source Projects * [canboatjs](../open-source-projects/#canboatjs) — Open Source Projects * [Catalina 320 Log](../social-media/#catalina-320-log) — Social Media * [Chetco](../vendors/#chetco) — Vendors * [Citizen Sea](../charts/#citizen-sea) — Charts and Data * [coelcanth](../social-media/#coelcanth) — Social Media * [Comar](../vendors/#comar) — Vendors * [Copperhill](../vendors/#copperhill) — Vendors * [Cricalix](../social-media/#cricalix) — Social Media * [Crimp](../vendors/#crimp) — Vendors * [Cruising Solutions](../vendors/#cruising-solutions) — Vendors * [Cybernet](../vendors/#cybernet) — Vendors * [Cyclops Marine](../vendors/#cyclops-marine) — Vendors ## D [Section titled “D”](#d) * [d3kOS](../open-source-projects/#d3kos) — Open Source Projects * [Daniamant](../vendors/#daniamant) — Vendors * [DeepBlue](../vendors/#deepblue) — Vendors * [Digital Yacht](../vendors/#digital-yacht) — Vendors * [DiscoTime](../open-source-projects/#discotime) — Open Source Projects * [DIY Onboard](../social-media/#diy-onboard) — Social Media ## E [Section titled “E”](#e) * [EasyHub](../vendors/#easyhub) — Vendors * [eInk Labels for SignalK](../open-source-projects/#eink-labels-for-signalk) — Open Source Projects * [em-trak](../vendors/#em-trak) — Vendors * [ESP32 NMEA2000](../open-source-projects/#esp32-nmea2000) — Open Source Projects * [Expedition Marine](../vendors/#expedition-marine) — Vendors ## F [Section titled “F”](#f) * [Francis Fustier](../vendors/#francis-fustier) — Vendors * [Furuno](../vendors/#furuno) — Vendors ## G [Section titled “G”](#g) * [Gadget Pool](../vendors/#gadget-pool) — Vendors * [Galadriel Plotter](../open-source-projects/#galadriel-plotter) — Open Source Projects * [Garmin](../vendors/#garmin) — Vendors * [Garmin BlueNet](../protocols/#garmin-bluenet) — Standards and Protocols * [Garmin Marine Network](../protocols/#garmin-marine-network) — Standards and Protocols * [Gary Woodruff](../social-media/#gary-woodruff) — Social Media * [gedad](../vendors/#gedad) — Vendors * [go-nmea](../open-source-projects/#go-nmea) — Open Source Projects * [GPS NMEA 0183 Messaging Protocol 101](../education/#gps-nmea-0183-messaging-protocol-101) — Education * [gpsd](../open-source-projects/#gpsd) — Open Source Projects * [Guardian Digital](../vendors/#guardian-digital) — Vendors * [GWeatherRouting](../open-source-projects/#gweatherrouting) — Open Source Projects * [gypsy](../open-source-projects/#gypsy) — Open Source Projects ## H [Section titled “H”](#h) * [Hacking Family](../social-media/#hacking-family) — Social Media * [HAT Labs](../vendors/#hat-labs) — Vendors * [Hello Sailor](../vendors/#hello-sailor) — Vendors * [Humminbird](../vendors/#humminbird) — Vendors ## I [Section titled “I”](#i) * [ICOM](../vendors/#icom) — Vendors * [IEC61162](../protocols/#iec61162) — Standards and Protocols * [Ilma](../open-source-projects/#ilma) — Open Source Projects * [Impulse](../vendors/#impulse) — Vendors * [imud](../open-source-projects/#imud) — Open Source Projects * [iNav4u](../vendors/#inav4u) — Vendors ## K [Section titled “K”](#k) * [Kicker Audio](../vendors/#kicker-audio) — Vendors * [Kip](../open-source-projects/#kip) — Open Source Projects * [KPlex](../open-source-projects/#kplex) — Open Source Projects ## L [Section titled “L”](#l) * [LCJ Capteurs](../vendors/#lcj-capteurs) — Vendors * [libWeatherRouting](../open-source-projects/#libweatherrouting) — Open Source Projects * [Lille Ø](../reference/#lille-%C3%B8) — Reference * [Lille Ø](../social-media/#lille-%C3%B8) — Social Media * [LoRaWan](../protocols/#lorawan) — Standards and Protocols * [Lowrance](../vendors/#lowrance) — Vendors * [LuckGRIB](../vendors/#luckgrib) — Vendors * [Luissa 351](../vendors/#luissa-351) — Vendors ## M [Section titled “M”](#m) * [Maiana](../open-source-projects/#maiana) — Open Source Projects * [Maintenance ROS](../vendors/#maintenance-ros) — Vendors * [MAPTATTOO](../vendors/#maptattoo) — Vendors * [Mapterhorn](../charts/#mapterhorn) — Charts and Data * [Maretron](../vendors/#maretron) — Vendors * [Marine Chart Viewer](../open-source-projects/#marine-chart-viewer) — Open Source Projects * [Marine Control Server](../vendors/#marine-control-server) — Vendors * [Marine Data Solutions](../vendors/#marine-data-solutions) — Vendors * [Marine Electronics Journal](../news/#marine-electronics-journal) — News * [MarineDCAC](../vendors/#marinedcac) — Vendors * [MarineYachtRadar](../open-source-projects/#marineyachtradar) — Open Source Projects * [Marinux](../open-source-projects/#marinux) — Open Source Projects * [Matsutec](../vendors/#matsutec) — Vendors * [Meco Training](../education/#meco-training) — Education * [Meltemus](../vendors/#meltemus) — Vendors * [MicroNet](../protocols/#micronet---raymarine-owned-proprietary-wireless-protocol-for) — Standards and Protocols * [minmea](../open-source-projects/#minmea) — Open Source Projects * [MQTT](../protocols/#mqtt) — Standards and Protocols * [Mr Lopez](../education/#mr-lopez) — Education * [MySmartBoat](../vendors/#mysmartboat) — Vendors ## N [Section titled “N”](#n) * [NASA Marine](../vendors/#nasa-marine) — Vendors * [Nauti-Control](../vendors/#nauti-control) — Vendors * [Nautibus](../vendors/#nautibus) — Vendors * [Nautic Alert](../vendors/#nautic-alert) — Vendors * [Nautical Chart Catalogs](../charts/#nautical-chart-catalogs) — Charts and Data * [Nautinect](../vendors/#nautinect) — Vendors * [Navigation Laptops](../vendors/#navigation-laptops) — Vendors * [Navigation Mac & Co](../social-media/#navigation-mac--co) — Social Media * [Navigatrix](../vendors/#navigatrix) — Vendors * [Navily](../vendors/#navily) — Vendors * [Navimetrix](../vendors/#navimetrix) — Vendors * [Navinet](../vendors/#navinet) — Vendors * [Navstation](../vendors/#navstation) — Vendors * [Nexus](../protocols/#nexus) — Standards and Protocols * [Nick Hayward](../social-media/#nick-hayward) — Social Media * [NKE](../vendors/#nke) — Vendors * [nm2k](../open-source-projects/#nm2k) — Open Source Projects * [NMEA 2000 Solutions](../vendors/#nmea-2000-solutions) — Vendors * [NMEA 2000 Support Group](../social-media/#nmea-2000-support-group) — Social Media * [NMEA 2000 Technical Forum](../social-media/#nmea-2000-technical-forum) — Social Media * [NMEA Certification and Training](../education/#nmea-certification-and-training) — Education * [NMEA Conference and Expo](../education/#nmea-conference-and-expo) — Education * [nmea crate](../open-source-projects/#nmea-crate) — Open Source Projects * [NMEA FAQ](../reference/#nmea-faq) — Reference * [NMEA OneNet](../protocols/#nmea-onenet) — Standards and Protocols * [NMEA over IP](../protocols/#nmea-over-ip) — Standards and Protocols * [NMEA Revealed](../reference/#nmea-revealed) — Reference * [nmea-simple](../open-source-projects/#nmea-simple) — Open Source Projects * [nmea0183](../open-source-projects/#nmea0183) — Open Source Projects * [NMEA0183](../protocols/#nmea0183) — Standards and Protocols * [NMEA2000](../open-source-projects/#nmea2000) — Open Source Projects * [NMEA2000](../protocols/#nmea2000) — Standards and Protocols * [NMEA2000\_ais\_wifi\_gw](../open-source-projects/#nmea2000_ais_wifi_gw) — Open Source Projects * [NMEA2000\_esp32](../open-source-projects/#nmea2000_esp32) — Open Source Projects * [NMEAParser](../open-source-projects/#nmeaparser) — Open Source Projects * [nmeasim](../open-source-projects/#nmeasim) — Open Source Projects * [NoForeignLand](../vendors/#noforeignland) — Vendors ## O [Section titled “O”](#o) * [Ocean Science Technology](../education/#ocean-science-technology) — Education * [Ocean Signal](../vendors/#ocean-signal) — Vendors * [Oceanav](../vendors/#oceanav) — Vendors * [Oceanic Systems](../vendors/#oceanic-systems) — Vendors * [Ole W. Saastad](../social-media/#ole-w-saastad) — Social Media * [Onwa](../vendors/#onwa) — Vendors * [Open Boat Projects](../open-source-projects/#open-boat-projects) — Open Source Projects * [Open Earth](../charts/#open-earth) — Charts and Data * [Open Marine Systems](../open-source-projects/#open-marine-systems) — Open Source Projects * [OpenBathy](../charts/#openbathy) — Charts and Data * [OpenCPN](../open-source-projects/#opencpn) — Open Source Projects * [OpenCPN Users](../social-media/#opencpn-users) — Social Media * [OpenFairWind](../open-source-projects/#openfairwind) — Open Source Projects * [OpenMarine](../social-media/#openmarine) — Social Media * [OpenMarine](../vendors/#openmarine) — Vendors * [OpenPlotter](../open-source-projects/#openplotter) — Open Source Projects * [OpenSeaMap](../charts/#openseamap) — Charts and Data * [OpenSkipper](../open-source-projects/#openskipper) — Open Source Projects * [OpenTide](../charts/#opentide) — Charts and Data * [OpenWaters](../charts/#openwaters) — Charts and Data * [Orca](../vendors/#orca) — Vendors * [OsmAnd](../vendors/#osmand) — Vendors * [Out Chasing Stars](../social-media/#out-chasing-stars) — Social Media ## P [Section titled “P”](#p) * [Pacific Yacht Systems](../social-media/#pacific-yacht-systems) — Social Media * [Pacific Yacht Systems](../vendors/#pacific-yacht-systems) — Vendors * [PAJ GPS](../vendors/#paj-gps) — Vendors * [Panbo](../news/#panbo) — News * [Panbo](../social-media/#panbo) — Social Media * [PCNautic](../vendors/#pcnautic) — Vendors * [Peplink](../vendors/#peplink) — Vendors * [Philippi](../vendors/#philippi) — Vendors * [Pitufino](../vendors/#pitufino) — Vendors * [Pixel Sur Mer](../vendors/#pixel-sur-mer) — Vendors * [Poynting](../vendors/#poynting) — Vendors * [PredictWind DataHub](../vendors/#predictwind-datahub) — Vendors * [Project Bob](../social-media/#project-bob) — Social Media * [PyGPSClient](../open-source-projects/#pygpsclient) — Open Source Projects * [pynmea2](../open-source-projects/#pynmea2) — Open Source Projects * [PyPilot](../open-source-projects/#pypilot) — Open Source Projects * [Pyssel](../social-media/#pyssel) — Social Media ## Q [Section titled “Q”](#q) * [Quark](../vendors/#quark) — Vendors ## R [Section titled “R”](#r) * [Raspberry for Sailing](../social-media/#raspberry-for-sailing) — Social Media * [Raspberry Pi for Boats](../social-media/#raspberry-pi-for-boats) — Social Media * [Raspmarine](../vendors/#raspmarine) — Vendors * [Raymarine](../vendors/#raymarine) — Vendors * [RayNet](../protocols/#raynet) — Standards and Protocols * [Renogy](../vendors/#renogy) — Vendors * [Rhizomatics](../open-source-projects/#rhizomatics) — Open Source Projects * [ROB](../open-source-projects/#rob) — Open Source Projects * [Rose Point](../vendors/#rose-point) — Vendors * [Rosuku](../vendors/#rosuku) — Vendors ## S [Section titled “S”](#s) * [SAE J1587/J1708](../protocols/#sae-j1587j1708) — Standards and Protocols * [SAE J1939](../protocols/#sae-j1939) — Standards and Protocols * [Safiery](../vendors/#safiery) — Vendors * [Sail Logger](../vendors/#sail-logger) — Vendors * [Sail-O-Vision](../open-source-projects/#sail-o-vision) — Open Source Projects * [Sailing Performance](../vendors/#sailing-performance) — Vendors * [Sailor Hat for Raspberry Pi](../vendors/#sailor-hat-for-raspberry-pi) — Vendors * [SailorGuard](../vendors/#sailorguard) — Vendors * [SailorsLog](../vendors/#sailorslog) — Vendors * [SailRouter](../vendors/#sailrouter) — Vendors * [SailSense](../vendors/#sailsense) — Vendors * [SailServer](../vendors/#sailserver) — Vendors * [Sailtrack](../open-source-projects/#sailtrack) — Open Source Projects * [SailTrack](../vendors/#sailtrack) — Vendors * [Salty Lass](../reference/#salty-lass) — Reference * [SavvyNavvy](../vendors/#savvynavvy) — Vendors * [Scadys](../vendors/#scadys) — Vendors * [Sea Jade](../reference/#sea-jade) — Reference * [Seabits](../social-media/#seabits) — Social Media * [Seably](../education/#seably) — Education * [SeaIQ](../vendors/#seaiq) — Vendors * [SeaPeople](../vendors/#seapeople) — Vendors * [Seatalk 1](../protocols/#seatalk-1) — Standards and Protocols * [Seatalk NG](../protocols/#seatalk-ng) — Standards and Protocols * [Seatalk Technical Reference](../reference/#seatalk-technical-reference) — Reference * [Seatech Systems](../vendors/#seatech-systems) — Vendors * [See Sailing](../vendors/#see-sailing) — Vendors * [Sens32](../open-source-projects/#sens32) — Open Source Projects * [Sensar Marine](../vendors/#sensar-marine) — Vendors * [Several SignalK plugins are available to expose boat data over MQTT, or pull MQTT data into SignalK, for example reading temperature sensors](../protocols/#several-signalk-plugins-are-available-to-expose-boat-data-ov) — Standards and Protocols * [Shielded Twisted Pair Ethernet](../protocols/#shielded-twisted-pair-ethernet) — Standards and Protocols * [Shipmodul](../vendors/#shipmodul) — Vendors * [SI-TEX](../vendors/#si-tex) — Vendors * [SignalK](../open-source-projects/#signalk) — Open Source Projects * [SignalK](../protocols/#signalk) — Standards and Protocols * [SignalK Google Group](../social-media/#signalk-google-group) — Social Media * [Simarine](../vendors/#simarine) — Vendors * [SimNet](../protocols/#simnet) — Standards and Protocols * [Simrad](../vendors/#simrad) — Vendors * [Siren Marine](../vendors/#siren-marine) — Vendors * [SK Pang Electronics](../vendors/#sk-pang-electronics) — Vendors * [SKipper](../vendors/#skipper) — Vendors * [Skippo](../vendors/#skippo) — Vendors * [Smart Boat Innovations](../open-source-projects/#smart-boat-innovations) — Open Source Projects * [Smart Boat Innovations](../social-media/#smart-boat-innovations) — Social Media * [Smart Boat Systems](../vendors/#smart-boat-systems) — Vendors * [Smartboatia](../vendors/#smartboatia) — Vendors * [SmartBoats](../news/#smartboats) — News * [SmartDock](../vendors/#smartdock) — Vendors * [SV Apres](../social-media/#sv-apres) — Social Media * [SY Bockra](../social-media/#sy-bockra) — Social Media * [SY Sea Jade Boatstuff](../social-media/#sy-sea-jade-boatstuff) — Social Media ## T [Section titled “T”](#t) * [TCP](../protocols/#tcp) — Standards and Protocols * [The Boat App](../reference/#the-boat-app) — Reference * [The Boat App](../vendors/#the-boat-app) — Vendors * [The Florida Captain](../social-media/#the-florida-captain) — Social Media * [The Hull Truth](../social-media/#the-hull-truth) — Social Media * [The Low Cost Sailor](../social-media/#the-low-cost-sailor) — Social Media * [TimeZero](../vendors/#timezero) — Vendors * [Tinley](../vendors/#tinley) — Vendors * [Tom Seahorse](../social-media/#tom-seahorse) — Social Media * [Toolbox Talks](../education/#toolbox-talks) — Education * [Topargee](../vendors/#topargee) — Vendors * [Tweeds Marine](../vendors/#tweeds-marine) — Vendors * [TwoCan](../open-source-projects/#twocan) — Open Source Projects ## U [Section titled “U”](#u) * [UDP](../protocols/#udp) — Standards and Protocols ## V [Section titled “V”](#v) * [Vakaros](../vendors/#vakaros) — Vendors * [Veinland](../vendors/#veinland) — Vendors * [Vela Navgea](../vendors/#vela-navgea) — Vendors * [vendors](../protocols/#vendors) — Standards and Protocols * [Venus](../open-source-projects/#venus) — Open Source Projects * [Veratron](../vendors/#veratron) — Vendors * [Vesscomm](../vendors/#vesscomm) — Vendors * [Vessel Vault](../vendors/#vessel-vault) — Vendors * [Victron](../vendors/#victron) — Vendors * [Vircru](../vendors/#vircru) — Vendors ## W [Section titled “W”](#w) * [Weatherdock](../vendors/#weatherdock) — Vendors * [Wegmatt](../vendors/#wegmatt) — Vendors * [Wema](../vendors/#wema) — Vendors * [WilhemSK](../vendors/#wilhemsk) — Vendors ## X [Section titled “X”](#x) * [Xilje](../open-source-projects/#xilje) — Open Source Projects ## Y [Section titled “Y”](#y) * [Yacht](../news/#yacht) — News * [Yacht Controller](../vendors/#yacht-controller) — Vendors * [Yacht Devices](../vendors/#yacht-devices) — Vendors * [Yachtara](../vendors/#yachtara) — Vendors * [Yakbitz](../vendors/#yakbitz) — Vendors ## Z [Section titled “Z”](#z) * [Zapfware](../vendors/#zapfware) — Vendors * [Zapped Myself](../social-media/#zapped-myself) — Social Media * [Zigbee](../protocols/#zigbee) — Standards and Protocols * [Zigboat](../vendors/#zigboat) — Vendors ## * [8-bit Sailing](../social-media/#8-bit-sailing) — Social Media
14
14
 
15
- # Charts
15
+ # Charts and Data
16
16
 
17
17
  > Open and volunteer charting projects.
18
18
 
19
- Open source, crowd-sourced and volunteer chart sources. * [Antares Charts](https://www.antarescharts.co.uk) - Volunteer project for charting and pilotage of West Coast Scotland. * [Mapterhorn](https://mapterhorn.com) - Open Source terrain tiles for interactive web map visualizations. * ![](../images/icons/github.ico) [Nautical Chart Catalogs](https://chartcatalogs.github.io) - Machine readable index of free to use nautical charts. * [OpenSeaMap](https://www.openseamap.org/index.php?id=openseamap\&L=1) - Open sourced charts, in English, German, Spanish, French, Italian, Russian and Arabic.
19
+ Open source, crowd-sourced and volunteer charts and other data sources. * [Antares Charts](https://www.antarescharts.co.uk) - Volunteer project for charting and pilotage of West Coast Scotland. * [Citizen Sea](https://www.hubocean.earth/citizen-sea) - Citizen science marine biology app, iOS and Android. * [Mapterhorn](https://mapterhorn.com) - Open Source terrain tiles for interactive web map visualizations. * ![](../images/icons/github.ico) [Nautical Chart Catalogs](https://chartcatalogs.github.io) - Machine readable index of free to use nautical charts. * [OpenBathy](https://www.openbathy.org) - Open access bathymetry data. * [Open Earth](https://www.openearth.nl) - Dutch open marine data, including detailed Wadden Sea mapping. * [OpenSeaMap](https://www.openseamap.org/index.php?id=openseamap\&L=1) - Open sourced charts, in English, German, Spanish, French, Italian, Russian and Arabic. * [OpenTide](https://opentide.io) - Crowd sourced tidal data, with SignalK plugin. * [OpenWaters](https://openwaters.io) - Open source mapping, tides and bathymetry.
20
20
 
21
21
  # Contributing
22
22
 
@@ -38,7 +38,7 @@
38
38
  })();
39
39
  </script><script type="module" src="/@rhizomatics/signalk-boat-tech-directory-plugin/_astro/Search.astro_astro_type_script_index_0_lang.3ca-UBSH.js"></script></div><div class="sl-hidden md:sl-flex print:hidden right-group astro-nczgtkxc"><div class="sl-flex social-icons astro-nczgtkxc"><a href="https://github.com/rhizomatics/boat-tech-directory" rel="me" class="sl-flex astro-cg55etiy"><span class="sr-only astro-cg55etiy">GitHub</span><svg aria-hidden="true" class="astro-cg55etiy astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg></a></div><starlight-theme-select><label style="--sl-select-width: 6.25em" class="astro-r2p65idu"><span class="sr-only astro-r2p65idu">Select theme</span><svg aria-hidden="true" class="icon label-icon astro-r2p65idu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg><select autocomplete="off" class="astro-r2p65idu"><option value="dark" class="astro-r2p65idu">Dark</option><option value="light" class="astro-r2p65idu">Light</option><option value="auto" selected class="astro-r2p65idu">Auto</option></select><svg aria-hidden="true" class="icon caret astro-r2p65idu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg></label></starlight-theme-select><script>
40
40
  StarlightThemeProvider.updatePickers();
41
- </script><script type="module">var e=`starlight-theme`,t=e=>e===`auto`||e===`dark`||e===`light`?e:`auto`,n=()=>t(typeof localStorage<`u`&&localStorage.getItem(e));function r(t){typeof localStorage<`u`&&localStorage.setItem(e,t===`light`||t===`dark`?t:``)}var i=()=>matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`;function a(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e===`auto`?i():e,r(e)}matchMedia(`(prefers-color-scheme: light)`).addEventListener(`change`,()=>{n()===`auto`&&a(`auto`)});var o=class extends HTMLElement{constructor(){super(),a(n()),this.querySelector(`select`)?.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&a(t(e.currentTarget.value))})}};customElements.define(`starlight-theme-select`,o);</script><script type="module">var e=class extends HTMLElement{constructor(){super();let e=this.querySelector(`select`);e&&(e.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=e.currentTarget.value)}),window.addEventListener(`pageshow`,t=>{if(!t.persisted)return;let n=e.querySelector(`option[selected]`)?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}};customElements.define(`starlight-lang-select`,e);</script></div></div></header><nav class="sidebar print:hidden astro-gqpr5s5a" aria-label="Main"><starlight-menu-button class="print:hidden astro-vvx7mffu"><button aria-expanded="false" aria-label="Menu" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-vvx7mffu"><svg aria-hidden="true" class="open-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg><svg aria-hidden="true" class="close-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="m13.41 12 6.3-6.29a1.004 1.004 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1.004 1.004 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 0 1.42.998.998 0 0 0 1.42 0l6.29-6.3 6.29 6.3a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.42L13.41 12Z"/></svg></button></starlight-menu-button><script type="module">var e=class extends HTMLElement{btn=this.querySelector(`button`);constructor(){super(),this.btn.addEventListener(`click`,()=>this.toggleExpanded());let e=this.closest(`nav`);e&&e.addEventListener(`keyup`,e=>this.closeOnEscape(e)),matchMedia(`(min-width: 50em)`).addEventListener(`change`,()=>this.setExpanded(!1))}setExpanded(e){this.setAttribute(`aria-expanded`,String(e)),document.body.toggleAttribute(`data-mobile-menu-expanded`,e),document.querySelectorAll(`.main-frame, .sl-skip-link`).forEach(t=>{t.toggleAttribute(`inert`,e)})}toggleExpanded(){this.setExpanded(this.getAttribute(`aria-expanded`)!==`true`)}closeOnEscape(e){e.code===`Escape`&&(this.setExpanded(!1),this.btn.focus())}};customElements.define(`starlight-menu-button`,e);</script><div id="starlight__sidebar" class="sidebar-pane astro-gqpr5s5a"><div class="sidebar-content sl-flex astro-gqpr5s5a"><sl-sidebar-state-persist data-hash="1u62lit" class="astro-f5yvicm7"><script aria-hidden="true">
41
+ </script><script type="module">var e=`starlight-theme`,t=e=>e===`auto`||e===`dark`||e===`light`?e:`auto`,n=()=>t(typeof localStorage<`u`&&localStorage.getItem(e));function r(t){typeof localStorage<`u`&&localStorage.setItem(e,t===`light`||t===`dark`?t:``)}var i=()=>matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`;function a(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e===`auto`?i():e,r(e)}matchMedia(`(prefers-color-scheme: light)`).addEventListener(`change`,()=>{n()===`auto`&&a(`auto`)});var o=class extends HTMLElement{constructor(){super(),a(n()),this.querySelector(`select`)?.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&a(t(e.currentTarget.value))})}};customElements.define(`starlight-theme-select`,o);</script><script type="module">var e=class extends HTMLElement{constructor(){super();let e=this.querySelector(`select`);e&&(e.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=e.currentTarget.value)}),window.addEventListener(`pageshow`,t=>{if(!t.persisted)return;let n=e.querySelector(`option[selected]`)?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}};customElements.define(`starlight-lang-select`,e);</script></div></div></header><nav class="sidebar print:hidden astro-gqpr5s5a" aria-label="Main"><starlight-menu-button class="print:hidden astro-vvx7mffu"><button aria-expanded="false" aria-label="Menu" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-vvx7mffu"><svg aria-hidden="true" class="open-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg><svg aria-hidden="true" class="close-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="m13.41 12 6.3-6.29a1.004 1.004 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1.004 1.004 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 0 1.42.998.998 0 0 0 1.42 0l6.29-6.3 6.29 6.3a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.42L13.41 12Z"/></svg></button></starlight-menu-button><script type="module">var e=class extends HTMLElement{btn=this.querySelector(`button`);constructor(){super(),this.btn.addEventListener(`click`,()=>this.toggleExpanded());let e=this.closest(`nav`);e&&e.addEventListener(`keyup`,e=>this.closeOnEscape(e)),matchMedia(`(min-width: 50em)`).addEventListener(`change`,()=>this.setExpanded(!1))}setExpanded(e){this.setAttribute(`aria-expanded`,String(e)),document.body.toggleAttribute(`data-mobile-menu-expanded`,e),document.querySelectorAll(`.main-frame, .sl-skip-link`).forEach(t=>{t.toggleAttribute(`inert`,e)})}toggleExpanded(){this.setExpanded(this.getAttribute(`aria-expanded`)!==`true`)}closeOnEscape(e){e.code===`Escape`&&(this.setExpanded(!1),this.btn.focus())}};customElements.define(`starlight-menu-button`,e);</script><div id="starlight__sidebar" class="sidebar-pane astro-gqpr5s5a"><div class="sidebar-content sl-flex astro-gqpr5s5a"><sl-sidebar-state-persist data-hash="070u86e" class="astro-f5yvicm7"><script aria-hidden="true">
42
42
  (() => {
43
43
  try {
44
44
  if (!matchMedia('(min-width: 50em)').matches) return;
@@ -61,7 +61,7 @@
61
61
  );
62
62
  } catch {}
63
63
  })();
64
- </script><ul class="top-level astro-wv7whodv"><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Home</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/social-media/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Social Media</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/charts/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Charts</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/open-source-projects/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Open Source Projects</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/protocols/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Protocols</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/vendors/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Vendors</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/news/" aria-current="page" class="large astro-wv7whodv"><span class="astro-wv7whodv">News</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/education/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Education</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/reference/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Reference</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/index-of-terms/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Index</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/contributing/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Contributing</span></a></li></ul><script aria-hidden="true">
64
+ </script><ul class="top-level astro-wv7whodv"><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Home</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/social-media/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Social Media</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/charts/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Charts and Data</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/open-source-projects/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Open Source Projects</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/protocols/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Protocols</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/vendors/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Vendors</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/news/" aria-current="page" class="large astro-wv7whodv"><span class="astro-wv7whodv">News</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/education/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Education</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/reference/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Reference</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/index-of-terms/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Index</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/contributing/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Contributing</span></a></li></ul><script aria-hidden="true">
65
65
  (() => {
66
66
  const scroller = document.getElementById('starlight__sidebar');
67
67
  if (!window._starlightScrollRestore || !scroller) return;
@@ -38,7 +38,7 @@
38
38
  })();
39
39
  </script><script type="module" src="/@rhizomatics/signalk-boat-tech-directory-plugin/_astro/Search.astro_astro_type_script_index_0_lang.3ca-UBSH.js"></script></div><div class="sl-hidden md:sl-flex print:hidden right-group astro-nczgtkxc"><div class="sl-flex social-icons astro-nczgtkxc"><a href="https://github.com/rhizomatics/boat-tech-directory" rel="me" class="sl-flex astro-cg55etiy"><span class="sr-only astro-cg55etiy">GitHub</span><svg aria-hidden="true" class="astro-cg55etiy astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg></a></div><starlight-theme-select><label style="--sl-select-width: 6.25em" class="astro-r2p65idu"><span class="sr-only astro-r2p65idu">Select theme</span><svg aria-hidden="true" class="icon label-icon astro-r2p65idu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg><select autocomplete="off" class="astro-r2p65idu"><option value="dark" class="astro-r2p65idu">Dark</option><option value="light" class="astro-r2p65idu">Light</option><option value="auto" selected class="astro-r2p65idu">Auto</option></select><svg aria-hidden="true" class="icon caret astro-r2p65idu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg></label></starlight-theme-select><script>
40
40
  StarlightThemeProvider.updatePickers();
41
- </script><script type="module">var e=`starlight-theme`,t=e=>e===`auto`||e===`dark`||e===`light`?e:`auto`,n=()=>t(typeof localStorage<`u`&&localStorage.getItem(e));function r(t){typeof localStorage<`u`&&localStorage.setItem(e,t===`light`||t===`dark`?t:``)}var i=()=>matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`;function a(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e===`auto`?i():e,r(e)}matchMedia(`(prefers-color-scheme: light)`).addEventListener(`change`,()=>{n()===`auto`&&a(`auto`)});var o=class extends HTMLElement{constructor(){super(),a(n()),this.querySelector(`select`)?.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&a(t(e.currentTarget.value))})}};customElements.define(`starlight-theme-select`,o);</script><script type="module">var e=class extends HTMLElement{constructor(){super();let e=this.querySelector(`select`);e&&(e.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=e.currentTarget.value)}),window.addEventListener(`pageshow`,t=>{if(!t.persisted)return;let n=e.querySelector(`option[selected]`)?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}};customElements.define(`starlight-lang-select`,e);</script></div></div></header><nav class="sidebar print:hidden astro-gqpr5s5a" aria-label="Main"><starlight-menu-button class="print:hidden astro-vvx7mffu"><button aria-expanded="false" aria-label="Menu" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-vvx7mffu"><svg aria-hidden="true" class="open-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg><svg aria-hidden="true" class="close-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="m13.41 12 6.3-6.29a1.004 1.004 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1.004 1.004 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 0 1.42.998.998 0 0 0 1.42 0l6.29-6.3 6.29 6.3a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.42L13.41 12Z"/></svg></button></starlight-menu-button><script type="module">var e=class extends HTMLElement{btn=this.querySelector(`button`);constructor(){super(),this.btn.addEventListener(`click`,()=>this.toggleExpanded());let e=this.closest(`nav`);e&&e.addEventListener(`keyup`,e=>this.closeOnEscape(e)),matchMedia(`(min-width: 50em)`).addEventListener(`change`,()=>this.setExpanded(!1))}setExpanded(e){this.setAttribute(`aria-expanded`,String(e)),document.body.toggleAttribute(`data-mobile-menu-expanded`,e),document.querySelectorAll(`.main-frame, .sl-skip-link`).forEach(t=>{t.toggleAttribute(`inert`,e)})}toggleExpanded(){this.setExpanded(this.getAttribute(`aria-expanded`)!==`true`)}closeOnEscape(e){e.code===`Escape`&&(this.setExpanded(!1),this.btn.focus())}};customElements.define(`starlight-menu-button`,e);</script><div id="starlight__sidebar" class="sidebar-pane astro-gqpr5s5a"><div class="sidebar-content sl-flex astro-gqpr5s5a"><sl-sidebar-state-persist data-hash="1u62lit" class="astro-f5yvicm7"><script aria-hidden="true">
41
+ </script><script type="module">var e=`starlight-theme`,t=e=>e===`auto`||e===`dark`||e===`light`?e:`auto`,n=()=>t(typeof localStorage<`u`&&localStorage.getItem(e));function r(t){typeof localStorage<`u`&&localStorage.setItem(e,t===`light`||t===`dark`?t:``)}var i=()=>matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`;function a(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e===`auto`?i():e,r(e)}matchMedia(`(prefers-color-scheme: light)`).addEventListener(`change`,()=>{n()===`auto`&&a(`auto`)});var o=class extends HTMLElement{constructor(){super(),a(n()),this.querySelector(`select`)?.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&a(t(e.currentTarget.value))})}};customElements.define(`starlight-theme-select`,o);</script><script type="module">var e=class extends HTMLElement{constructor(){super();let e=this.querySelector(`select`);e&&(e.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=e.currentTarget.value)}),window.addEventListener(`pageshow`,t=>{if(!t.persisted)return;let n=e.querySelector(`option[selected]`)?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}};customElements.define(`starlight-lang-select`,e);</script></div></div></header><nav class="sidebar print:hidden astro-gqpr5s5a" aria-label="Main"><starlight-menu-button class="print:hidden astro-vvx7mffu"><button aria-expanded="false" aria-label="Menu" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-vvx7mffu"><svg aria-hidden="true" class="open-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg><svg aria-hidden="true" class="close-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="m13.41 12 6.3-6.29a1.004 1.004 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1.004 1.004 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 0 1.42.998.998 0 0 0 1.42 0l6.29-6.3 6.29 6.3a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.42L13.41 12Z"/></svg></button></starlight-menu-button><script type="module">var e=class extends HTMLElement{btn=this.querySelector(`button`);constructor(){super(),this.btn.addEventListener(`click`,()=>this.toggleExpanded());let e=this.closest(`nav`);e&&e.addEventListener(`keyup`,e=>this.closeOnEscape(e)),matchMedia(`(min-width: 50em)`).addEventListener(`change`,()=>this.setExpanded(!1))}setExpanded(e){this.setAttribute(`aria-expanded`,String(e)),document.body.toggleAttribute(`data-mobile-menu-expanded`,e),document.querySelectorAll(`.main-frame, .sl-skip-link`).forEach(t=>{t.toggleAttribute(`inert`,e)})}toggleExpanded(){this.setExpanded(this.getAttribute(`aria-expanded`)!==`true`)}closeOnEscape(e){e.code===`Escape`&&(this.setExpanded(!1),this.btn.focus())}};customElements.define(`starlight-menu-button`,e);</script><div id="starlight__sidebar" class="sidebar-pane astro-gqpr5s5a"><div class="sidebar-content sl-flex astro-gqpr5s5a"><sl-sidebar-state-persist data-hash="070u86e" class="astro-f5yvicm7"><script aria-hidden="true">
42
42
  (() => {
43
43
  try {
44
44
  if (!matchMedia('(min-width: 50em)').matches) return;
@@ -61,7 +61,7 @@
61
61
  );
62
62
  } catch {}
63
63
  })();
64
- </script><ul class="top-level astro-wv7whodv"><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Home</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/social-media/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Social Media</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/charts/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Charts</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/open-source-projects/" aria-current="page" class="large astro-wv7whodv"><span class="astro-wv7whodv">Open Source Projects</span></a><ul class="page-toc astro-wv7whodv"><li class="depth-3 astro-wv7whodv"><a href="#nmea" class="astro-wv7whodv">NMEA</a></li></ul></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/protocols/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Protocols</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/vendors/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Vendors</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/news/" class="large astro-wv7whodv"><span class="astro-wv7whodv">News</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/education/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Education</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/reference/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Reference</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/index-of-terms/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Index</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/contributing/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Contributing</span></a></li></ul><script aria-hidden="true">
64
+ </script><ul class="top-level astro-wv7whodv"><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Home</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/social-media/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Social Media</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/charts/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Charts and Data</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/open-source-projects/" aria-current="page" class="large astro-wv7whodv"><span class="astro-wv7whodv">Open Source Projects</span></a><ul class="page-toc astro-wv7whodv"><li class="depth-3 astro-wv7whodv"><a href="#nmea" class="astro-wv7whodv">NMEA</a></li></ul></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/protocols/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Protocols</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/vendors/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Vendors</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/news/" class="large astro-wv7whodv"><span class="astro-wv7whodv">News</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/education/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Education</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/reference/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Reference</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/index-of-terms/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Index</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/contributing/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Contributing</span></a></li></ul><script aria-hidden="true">
65
65
  (() => {
66
66
  const scroller = document.getElementById('starlight__sidebar');
67
67
  if (!window._starlightScrollRestore || !scroller) return;
@@ -159,4 +159,4 @@
159
159
  <div class="sl-heading-wrapper level-h4"><h4 id="swift">Swift</h4><a class="sl-anchor-link" href="#swift"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 1 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 0 0-1.42-1.42m8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 1 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l3.88-3.89a4.49 4.49 0 0 0 0-6.33M8.83 15.17a1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.92-4.92a1 1 0 1 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42"></path></svg></span><span class="sr-only" data-pagefind-ignore="">Section titled “Swift”</span></a></div>
160
160
  <ul>
161
161
  <li id="nmeaparser"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/sindreoyen/NMEAParser">NMEAParser</a> - iOS and macOS NMEA 0183 parser and validator.</li>
162
- </ul></div><footer class="sl-flex astro-xhxjzfa7"><div class="meta sl-flex astro-xhxjzfa7"></div><div class="pagination-links print:hidden astro-jgq3vlii" dir="ltr"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/charts/" rel="prev" class="astro-jgq3vlii"><svg aria-hidden="true" class="astro-jgq3vlii astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M17 11H9.41l3.3-3.29a1.004 1.004 0 1 0-1.42-1.42l-5 5a1 1 0 0 0-.21.33 1 1 0 0 0 0 .76 1 1 0 0 0 .21.33l5 5a1.002 1.002 0 0 0 1.639-.325 1 1 0 0 0-.219-1.095L9.41 13H17a1 1 0 0 0 0-2Z"/></svg><span class="astro-jgq3vlii">Previous<br class="astro-jgq3vlii"><span class="link-title astro-jgq3vlii">Charts</span></span></a><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/protocols/" rel="next" class="astro-jgq3vlii"><svg aria-hidden="true" class="astro-jgq3vlii astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M17.92 11.62a1.001 1.001 0 0 0-.21-.33l-5-5a1.003 1.003 0 1 0-1.42 1.42l3.3 3.29H7a1 1 0 0 0 0 2h7.59l-3.3 3.29a1.002 1.002 0 0 0 .325 1.639 1 1 0 0 0 1.095-.219l5-5a1 1 0 0 0 .21-.33 1 1 0 0 0 0-.76Z"/></svg><span class="astro-jgq3vlii">Next<br class="astro-jgq3vlii"><span class="link-title astro-jgq3vlii">Protocols</span></span></a></div></footer></div></div></main></div></div></div></div></body></html>
162
+ </ul></div><footer class="sl-flex astro-xhxjzfa7"><div class="meta sl-flex astro-xhxjzfa7"></div><div class="pagination-links print:hidden astro-jgq3vlii" dir="ltr"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/charts/" rel="prev" class="astro-jgq3vlii"><svg aria-hidden="true" class="astro-jgq3vlii astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M17 11H9.41l3.3-3.29a1.004 1.004 0 1 0-1.42-1.42l-5 5a1 1 0 0 0-.21.33 1 1 0 0 0 0 .76 1 1 0 0 0 .21.33l5 5a1.002 1.002 0 0 0 1.639-.325 1 1 0 0 0-.219-1.095L9.41 13H17a1 1 0 0 0 0-2Z"/></svg><span class="astro-jgq3vlii">Previous<br class="astro-jgq3vlii"><span class="link-title astro-jgq3vlii">Charts and Data</span></span></a><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/protocols/" rel="next" class="astro-jgq3vlii"><svg aria-hidden="true" class="astro-jgq3vlii astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M17.92 11.62a1.001 1.001 0 0 0-.21-.33l-5-5a1.003 1.003 0 1 0-1.42 1.42l3.3 3.29H7a1 1 0 0 0 0 2h7.59l-3.3 3.29a1.002 1.002 0 0 0 .325 1.639 1 1 0 0 0 1.095-.219l5-5a1 1 0 0 0 .21-.33 1 1 0 0 0 0-.76Z"/></svg><span class="astro-jgq3vlii">Next<br class="astro-jgq3vlii"><span class="link-title astro-jgq3vlii">Protocols</span></span></a></div></footer></div></div></main></div></div></div></div></body></html>
@@ -1 +1 @@
1
- {"version":"1.5.2","languages":{"en":{"hash":"en_a9193b9242","wasm":"en","page_count":11}},"include_characters":["_","‿","⁀","⁔","︳","︴","﹍","﹎","﹏","_"]}
1
+ {"version":"1.5.2","languages":{"en":{"hash":"en_209d8f63ce","wasm":"en","page_count":11}},"include_characters":["_","‿","⁀","⁔","︳","︴","﹍","﹎","﹏","_"]}
@@ -38,7 +38,7 @@
38
38
  })();
39
39
  </script><script type="module" src="/@rhizomatics/signalk-boat-tech-directory-plugin/_astro/Search.astro_astro_type_script_index_0_lang.3ca-UBSH.js"></script></div><div class="sl-hidden md:sl-flex print:hidden right-group astro-nczgtkxc"><div class="sl-flex social-icons astro-nczgtkxc"><a href="https://github.com/rhizomatics/boat-tech-directory" rel="me" class="sl-flex astro-cg55etiy"><span class="sr-only astro-cg55etiy">GitHub</span><svg aria-hidden="true" class="astro-cg55etiy astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg></a></div><starlight-theme-select><label style="--sl-select-width: 6.25em" class="astro-r2p65idu"><span class="sr-only astro-r2p65idu">Select theme</span><svg aria-hidden="true" class="icon label-icon astro-r2p65idu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg><select autocomplete="off" class="astro-r2p65idu"><option value="dark" class="astro-r2p65idu">Dark</option><option value="light" class="astro-r2p65idu">Light</option><option value="auto" selected class="astro-r2p65idu">Auto</option></select><svg aria-hidden="true" class="icon caret astro-r2p65idu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg></label></starlight-theme-select><script>
40
40
  StarlightThemeProvider.updatePickers();
41
- </script><script type="module">var e=`starlight-theme`,t=e=>e===`auto`||e===`dark`||e===`light`?e:`auto`,n=()=>t(typeof localStorage<`u`&&localStorage.getItem(e));function r(t){typeof localStorage<`u`&&localStorage.setItem(e,t===`light`||t===`dark`?t:``)}var i=()=>matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`;function a(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e===`auto`?i():e,r(e)}matchMedia(`(prefers-color-scheme: light)`).addEventListener(`change`,()=>{n()===`auto`&&a(`auto`)});var o=class extends HTMLElement{constructor(){super(),a(n()),this.querySelector(`select`)?.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&a(t(e.currentTarget.value))})}};customElements.define(`starlight-theme-select`,o);</script><script type="module">var e=class extends HTMLElement{constructor(){super();let e=this.querySelector(`select`);e&&(e.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=e.currentTarget.value)}),window.addEventListener(`pageshow`,t=>{if(!t.persisted)return;let n=e.querySelector(`option[selected]`)?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}};customElements.define(`starlight-lang-select`,e);</script></div></div></header><nav class="sidebar print:hidden astro-gqpr5s5a" aria-label="Main"><starlight-menu-button class="print:hidden astro-vvx7mffu"><button aria-expanded="false" aria-label="Menu" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-vvx7mffu"><svg aria-hidden="true" class="open-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg><svg aria-hidden="true" class="close-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="m13.41 12 6.3-6.29a1.004 1.004 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1.004 1.004 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 0 1.42.998.998 0 0 0 1.42 0l6.29-6.3 6.29 6.3a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.42L13.41 12Z"/></svg></button></starlight-menu-button><script type="module">var e=class extends HTMLElement{btn=this.querySelector(`button`);constructor(){super(),this.btn.addEventListener(`click`,()=>this.toggleExpanded());let e=this.closest(`nav`);e&&e.addEventListener(`keyup`,e=>this.closeOnEscape(e)),matchMedia(`(min-width: 50em)`).addEventListener(`change`,()=>this.setExpanded(!1))}setExpanded(e){this.setAttribute(`aria-expanded`,String(e)),document.body.toggleAttribute(`data-mobile-menu-expanded`,e),document.querySelectorAll(`.main-frame, .sl-skip-link`).forEach(t=>{t.toggleAttribute(`inert`,e)})}toggleExpanded(){this.setExpanded(this.getAttribute(`aria-expanded`)!==`true`)}closeOnEscape(e){e.code===`Escape`&&(this.setExpanded(!1),this.btn.focus())}};customElements.define(`starlight-menu-button`,e);</script><div id="starlight__sidebar" class="sidebar-pane astro-gqpr5s5a"><div class="sidebar-content sl-flex astro-gqpr5s5a"><sl-sidebar-state-persist data-hash="1u62lit" class="astro-f5yvicm7"><script aria-hidden="true">
41
+ </script><script type="module">var e=`starlight-theme`,t=e=>e===`auto`||e===`dark`||e===`light`?e:`auto`,n=()=>t(typeof localStorage<`u`&&localStorage.getItem(e));function r(t){typeof localStorage<`u`&&localStorage.setItem(e,t===`light`||t===`dark`?t:``)}var i=()=>matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`;function a(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e===`auto`?i():e,r(e)}matchMedia(`(prefers-color-scheme: light)`).addEventListener(`change`,()=>{n()===`auto`&&a(`auto`)});var o=class extends HTMLElement{constructor(){super(),a(n()),this.querySelector(`select`)?.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&a(t(e.currentTarget.value))})}};customElements.define(`starlight-theme-select`,o);</script><script type="module">var e=class extends HTMLElement{constructor(){super();let e=this.querySelector(`select`);e&&(e.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=e.currentTarget.value)}),window.addEventListener(`pageshow`,t=>{if(!t.persisted)return;let n=e.querySelector(`option[selected]`)?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}};customElements.define(`starlight-lang-select`,e);</script></div></div></header><nav class="sidebar print:hidden astro-gqpr5s5a" aria-label="Main"><starlight-menu-button class="print:hidden astro-vvx7mffu"><button aria-expanded="false" aria-label="Menu" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-vvx7mffu"><svg aria-hidden="true" class="open-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg><svg aria-hidden="true" class="close-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="m13.41 12 6.3-6.29a1.004 1.004 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1.004 1.004 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 0 1.42.998.998 0 0 0 1.42 0l6.29-6.3 6.29 6.3a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.42L13.41 12Z"/></svg></button></starlight-menu-button><script type="module">var e=class extends HTMLElement{btn=this.querySelector(`button`);constructor(){super(),this.btn.addEventListener(`click`,()=>this.toggleExpanded());let e=this.closest(`nav`);e&&e.addEventListener(`keyup`,e=>this.closeOnEscape(e)),matchMedia(`(min-width: 50em)`).addEventListener(`change`,()=>this.setExpanded(!1))}setExpanded(e){this.setAttribute(`aria-expanded`,String(e)),document.body.toggleAttribute(`data-mobile-menu-expanded`,e),document.querySelectorAll(`.main-frame, .sl-skip-link`).forEach(t=>{t.toggleAttribute(`inert`,e)})}toggleExpanded(){this.setExpanded(this.getAttribute(`aria-expanded`)!==`true`)}closeOnEscape(e){e.code===`Escape`&&(this.setExpanded(!1),this.btn.focus())}};customElements.define(`starlight-menu-button`,e);</script><div id="starlight__sidebar" class="sidebar-pane astro-gqpr5s5a"><div class="sidebar-content sl-flex astro-gqpr5s5a"><sl-sidebar-state-persist data-hash="070u86e" class="astro-f5yvicm7"><script aria-hidden="true">
42
42
  (() => {
43
43
  try {
44
44
  if (!matchMedia('(min-width: 50em)').matches) return;
@@ -61,7 +61,7 @@
61
61
  );
62
62
  } catch {}
63
63
  })();
64
- </script><ul class="top-level astro-wv7whodv"><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Home</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/social-media/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Social Media</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/charts/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Charts</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/open-source-projects/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Open Source Projects</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/protocols/" aria-current="page" class="large astro-wv7whodv"><span class="astro-wv7whodv">Protocols</span></a><ul class="page-toc astro-wv7whodv"><li class="depth-3 astro-wv7whodv"><a href="#marine-industry-standards" class="astro-wv7whodv">Marine Industry Standards</a></li><li class="depth-3 astro-wv7whodv"><a href="#open-source" class="astro-wv7whodv">Open Source</a></li><li class="depth-3 astro-wv7whodv"><a href="#vendor-proprietary" class="astro-wv7whodv">Vendor Proprietary</a></li><li class="depth-3 astro-wv7whodv"><a href="#other-industry-standards-on-boats" class="astro-wv7whodv">Other Industry Standards on Boats</a></li></ul></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/vendors/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Vendors</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/news/" class="large astro-wv7whodv"><span class="astro-wv7whodv">News</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/education/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Education</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/reference/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Reference</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/index-of-terms/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Index</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/contributing/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Contributing</span></a></li></ul><script aria-hidden="true">
64
+ </script><ul class="top-level astro-wv7whodv"><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Home</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/social-media/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Social Media</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/charts/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Charts and Data</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/open-source-projects/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Open Source Projects</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/protocols/" aria-current="page" class="large astro-wv7whodv"><span class="astro-wv7whodv">Protocols</span></a><ul class="page-toc astro-wv7whodv"><li class="depth-3 astro-wv7whodv"><a href="#marine-industry-standards" class="astro-wv7whodv">Marine Industry Standards</a></li><li class="depth-3 astro-wv7whodv"><a href="#open-source" class="astro-wv7whodv">Open Source</a></li><li class="depth-3 astro-wv7whodv"><a href="#vendor-proprietary" class="astro-wv7whodv">Vendor Proprietary</a></li><li class="depth-3 astro-wv7whodv"><a href="#other-industry-standards-on-boats" class="astro-wv7whodv">Other Industry Standards on Boats</a></li></ul></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/vendors/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Vendors</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/news/" class="large astro-wv7whodv"><span class="astro-wv7whodv">News</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/education/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Education</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/reference/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Reference</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/index-of-terms/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Index</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/contributing/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Contributing</span></a></li></ul><script aria-hidden="true">
65
65
  (() => {
66
66
  const scroller = document.getElementById('starlight__sidebar');
67
67
  if (!window._starlightScrollRestore || !scroller) return;
@@ -38,7 +38,7 @@
38
38
  })();
39
39
  </script><script type="module" src="/@rhizomatics/signalk-boat-tech-directory-plugin/_astro/Search.astro_astro_type_script_index_0_lang.3ca-UBSH.js"></script></div><div class="sl-hidden md:sl-flex print:hidden right-group astro-nczgtkxc"><div class="sl-flex social-icons astro-nczgtkxc"><a href="https://github.com/rhizomatics/boat-tech-directory" rel="me" class="sl-flex astro-cg55etiy"><span class="sr-only astro-cg55etiy">GitHub</span><svg aria-hidden="true" class="astro-cg55etiy astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg></a></div><starlight-theme-select><label style="--sl-select-width: 6.25em" class="astro-r2p65idu"><span class="sr-only astro-r2p65idu">Select theme</span><svg aria-hidden="true" class="icon label-icon astro-r2p65idu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg><select autocomplete="off" class="astro-r2p65idu"><option value="dark" class="astro-r2p65idu">Dark</option><option value="light" class="astro-r2p65idu">Light</option><option value="auto" selected class="astro-r2p65idu">Auto</option></select><svg aria-hidden="true" class="icon caret astro-r2p65idu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg></label></starlight-theme-select><script>
40
40
  StarlightThemeProvider.updatePickers();
41
- </script><script type="module">var e=`starlight-theme`,t=e=>e===`auto`||e===`dark`||e===`light`?e:`auto`,n=()=>t(typeof localStorage<`u`&&localStorage.getItem(e));function r(t){typeof localStorage<`u`&&localStorage.setItem(e,t===`light`||t===`dark`?t:``)}var i=()=>matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`;function a(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e===`auto`?i():e,r(e)}matchMedia(`(prefers-color-scheme: light)`).addEventListener(`change`,()=>{n()===`auto`&&a(`auto`)});var o=class extends HTMLElement{constructor(){super(),a(n()),this.querySelector(`select`)?.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&a(t(e.currentTarget.value))})}};customElements.define(`starlight-theme-select`,o);</script><script type="module">var e=class extends HTMLElement{constructor(){super();let e=this.querySelector(`select`);e&&(e.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=e.currentTarget.value)}),window.addEventListener(`pageshow`,t=>{if(!t.persisted)return;let n=e.querySelector(`option[selected]`)?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}};customElements.define(`starlight-lang-select`,e);</script></div></div></header><nav class="sidebar print:hidden astro-gqpr5s5a" aria-label="Main"><starlight-menu-button class="print:hidden astro-vvx7mffu"><button aria-expanded="false" aria-label="Menu" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-vvx7mffu"><svg aria-hidden="true" class="open-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg><svg aria-hidden="true" class="close-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="m13.41 12 6.3-6.29a1.004 1.004 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1.004 1.004 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 0 1.42.998.998 0 0 0 1.42 0l6.29-6.3 6.29 6.3a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.42L13.41 12Z"/></svg></button></starlight-menu-button><script type="module">var e=class extends HTMLElement{btn=this.querySelector(`button`);constructor(){super(),this.btn.addEventListener(`click`,()=>this.toggleExpanded());let e=this.closest(`nav`);e&&e.addEventListener(`keyup`,e=>this.closeOnEscape(e)),matchMedia(`(min-width: 50em)`).addEventListener(`change`,()=>this.setExpanded(!1))}setExpanded(e){this.setAttribute(`aria-expanded`,String(e)),document.body.toggleAttribute(`data-mobile-menu-expanded`,e),document.querySelectorAll(`.main-frame, .sl-skip-link`).forEach(t=>{t.toggleAttribute(`inert`,e)})}toggleExpanded(){this.setExpanded(this.getAttribute(`aria-expanded`)!==`true`)}closeOnEscape(e){e.code===`Escape`&&(this.setExpanded(!1),this.btn.focus())}};customElements.define(`starlight-menu-button`,e);</script><div id="starlight__sidebar" class="sidebar-pane astro-gqpr5s5a"><div class="sidebar-content sl-flex astro-gqpr5s5a"><sl-sidebar-state-persist data-hash="1u62lit" class="astro-f5yvicm7"><script aria-hidden="true">
41
+ </script><script type="module">var e=`starlight-theme`,t=e=>e===`auto`||e===`dark`||e===`light`?e:`auto`,n=()=>t(typeof localStorage<`u`&&localStorage.getItem(e));function r(t){typeof localStorage<`u`&&localStorage.setItem(e,t===`light`||t===`dark`?t:``)}var i=()=>matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`;function a(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e===`auto`?i():e,r(e)}matchMedia(`(prefers-color-scheme: light)`).addEventListener(`change`,()=>{n()===`auto`&&a(`auto`)});var o=class extends HTMLElement{constructor(){super(),a(n()),this.querySelector(`select`)?.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&a(t(e.currentTarget.value))})}};customElements.define(`starlight-theme-select`,o);</script><script type="module">var e=class extends HTMLElement{constructor(){super();let e=this.querySelector(`select`);e&&(e.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=e.currentTarget.value)}),window.addEventListener(`pageshow`,t=>{if(!t.persisted)return;let n=e.querySelector(`option[selected]`)?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}};customElements.define(`starlight-lang-select`,e);</script></div></div></header><nav class="sidebar print:hidden astro-gqpr5s5a" aria-label="Main"><starlight-menu-button class="print:hidden astro-vvx7mffu"><button aria-expanded="false" aria-label="Menu" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-vvx7mffu"><svg aria-hidden="true" class="open-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg><svg aria-hidden="true" class="close-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="m13.41 12 6.3-6.29a1.004 1.004 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1.004 1.004 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 0 1.42.998.998 0 0 0 1.42 0l6.29-6.3 6.29 6.3a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.42L13.41 12Z"/></svg></button></starlight-menu-button><script type="module">var e=class extends HTMLElement{btn=this.querySelector(`button`);constructor(){super(),this.btn.addEventListener(`click`,()=>this.toggleExpanded());let e=this.closest(`nav`);e&&e.addEventListener(`keyup`,e=>this.closeOnEscape(e)),matchMedia(`(min-width: 50em)`).addEventListener(`change`,()=>this.setExpanded(!1))}setExpanded(e){this.setAttribute(`aria-expanded`,String(e)),document.body.toggleAttribute(`data-mobile-menu-expanded`,e),document.querySelectorAll(`.main-frame, .sl-skip-link`).forEach(t=>{t.toggleAttribute(`inert`,e)})}toggleExpanded(){this.setExpanded(this.getAttribute(`aria-expanded`)!==`true`)}closeOnEscape(e){e.code===`Escape`&&(this.setExpanded(!1),this.btn.focus())}};customElements.define(`starlight-menu-button`,e);</script><div id="starlight__sidebar" class="sidebar-pane astro-gqpr5s5a"><div class="sidebar-content sl-flex astro-gqpr5s5a"><sl-sidebar-state-persist data-hash="070u86e" class="astro-f5yvicm7"><script aria-hidden="true">
42
42
  (() => {
43
43
  try {
44
44
  if (!matchMedia('(min-width: 50em)').matches) return;
@@ -61,7 +61,7 @@
61
61
  );
62
62
  } catch {}
63
63
  })();
64
- </script><ul class="top-level astro-wv7whodv"><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Home</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/social-media/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Social Media</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/charts/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Charts</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/open-source-projects/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Open Source Projects</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/protocols/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Protocols</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/vendors/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Vendors</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/news/" class="large astro-wv7whodv"><span class="astro-wv7whodv">News</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/education/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Education</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/reference/" aria-current="page" class="large astro-wv7whodv"><span class="astro-wv7whodv">Reference</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/index-of-terms/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Index</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/contributing/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Contributing</span></a></li></ul><script aria-hidden="true">
64
+ </script><ul class="top-level astro-wv7whodv"><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Home</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/social-media/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Social Media</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/charts/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Charts and Data</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/open-source-projects/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Open Source Projects</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/protocols/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Protocols</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/vendors/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Vendors</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/news/" class="large astro-wv7whodv"><span class="astro-wv7whodv">News</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/education/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Education</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/reference/" aria-current="page" class="large astro-wv7whodv"><span class="astro-wv7whodv">Reference</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/index-of-terms/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Index</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/contributing/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Contributing</span></a></li></ul><script aria-hidden="true">
65
65
  (() => {
66
66
  const scroller = document.getElementById('starlight__sidebar');
67
67
  if (!window._starlightScrollRestore || !scroller) return;
@@ -38,7 +38,7 @@
38
38
  })();
39
39
  </script><script type="module" src="/@rhizomatics/signalk-boat-tech-directory-plugin/_astro/Search.astro_astro_type_script_index_0_lang.3ca-UBSH.js"></script></div><div class="sl-hidden md:sl-flex print:hidden right-group astro-nczgtkxc"><div class="sl-flex social-icons astro-nczgtkxc"><a href="https://github.com/rhizomatics/boat-tech-directory" rel="me" class="sl-flex astro-cg55etiy"><span class="sr-only astro-cg55etiy">GitHub</span><svg aria-hidden="true" class="astro-cg55etiy astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg></a></div><starlight-theme-select><label style="--sl-select-width: 6.25em" class="astro-r2p65idu"><span class="sr-only astro-r2p65idu">Select theme</span><svg aria-hidden="true" class="icon label-icon astro-r2p65idu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg><select autocomplete="off" class="astro-r2p65idu"><option value="dark" class="astro-r2p65idu">Dark</option><option value="light" class="astro-r2p65idu">Light</option><option value="auto" selected class="astro-r2p65idu">Auto</option></select><svg aria-hidden="true" class="icon caret astro-r2p65idu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg></label></starlight-theme-select><script>
40
40
  StarlightThemeProvider.updatePickers();
41
- </script><script type="module">var e=`starlight-theme`,t=e=>e===`auto`||e===`dark`||e===`light`?e:`auto`,n=()=>t(typeof localStorage<`u`&&localStorage.getItem(e));function r(t){typeof localStorage<`u`&&localStorage.setItem(e,t===`light`||t===`dark`?t:``)}var i=()=>matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`;function a(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e===`auto`?i():e,r(e)}matchMedia(`(prefers-color-scheme: light)`).addEventListener(`change`,()=>{n()===`auto`&&a(`auto`)});var o=class extends HTMLElement{constructor(){super(),a(n()),this.querySelector(`select`)?.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&a(t(e.currentTarget.value))})}};customElements.define(`starlight-theme-select`,o);</script><script type="module">var e=class extends HTMLElement{constructor(){super();let e=this.querySelector(`select`);e&&(e.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=e.currentTarget.value)}),window.addEventListener(`pageshow`,t=>{if(!t.persisted)return;let n=e.querySelector(`option[selected]`)?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}};customElements.define(`starlight-lang-select`,e);</script></div></div></header><nav class="sidebar print:hidden astro-gqpr5s5a" aria-label="Main"><starlight-menu-button class="print:hidden astro-vvx7mffu"><button aria-expanded="false" aria-label="Menu" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-vvx7mffu"><svg aria-hidden="true" class="open-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg><svg aria-hidden="true" class="close-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="m13.41 12 6.3-6.29a1.004 1.004 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1.004 1.004 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 0 1.42.998.998 0 0 0 1.42 0l6.29-6.3 6.29 6.3a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.42L13.41 12Z"/></svg></button></starlight-menu-button><script type="module">var e=class extends HTMLElement{btn=this.querySelector(`button`);constructor(){super(),this.btn.addEventListener(`click`,()=>this.toggleExpanded());let e=this.closest(`nav`);e&&e.addEventListener(`keyup`,e=>this.closeOnEscape(e)),matchMedia(`(min-width: 50em)`).addEventListener(`change`,()=>this.setExpanded(!1))}setExpanded(e){this.setAttribute(`aria-expanded`,String(e)),document.body.toggleAttribute(`data-mobile-menu-expanded`,e),document.querySelectorAll(`.main-frame, .sl-skip-link`).forEach(t=>{t.toggleAttribute(`inert`,e)})}toggleExpanded(){this.setExpanded(this.getAttribute(`aria-expanded`)!==`true`)}closeOnEscape(e){e.code===`Escape`&&(this.setExpanded(!1),this.btn.focus())}};customElements.define(`starlight-menu-button`,e);</script><div id="starlight__sidebar" class="sidebar-pane astro-gqpr5s5a"><div class="sidebar-content sl-flex astro-gqpr5s5a"><sl-sidebar-state-persist data-hash="1u62lit" class="astro-f5yvicm7"><script aria-hidden="true">
41
+ </script><script type="module">var e=`starlight-theme`,t=e=>e===`auto`||e===`dark`||e===`light`?e:`auto`,n=()=>t(typeof localStorage<`u`&&localStorage.getItem(e));function r(t){typeof localStorage<`u`&&localStorage.setItem(e,t===`light`||t===`dark`?t:``)}var i=()=>matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`;function a(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e===`auto`?i():e,r(e)}matchMedia(`(prefers-color-scheme: light)`).addEventListener(`change`,()=>{n()===`auto`&&a(`auto`)});var o=class extends HTMLElement{constructor(){super(),a(n()),this.querySelector(`select`)?.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&a(t(e.currentTarget.value))})}};customElements.define(`starlight-theme-select`,o);</script><script type="module">var e=class extends HTMLElement{constructor(){super();let e=this.querySelector(`select`);e&&(e.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=e.currentTarget.value)}),window.addEventListener(`pageshow`,t=>{if(!t.persisted)return;let n=e.querySelector(`option[selected]`)?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}};customElements.define(`starlight-lang-select`,e);</script></div></div></header><nav class="sidebar print:hidden astro-gqpr5s5a" aria-label="Main"><starlight-menu-button class="print:hidden astro-vvx7mffu"><button aria-expanded="false" aria-label="Menu" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-vvx7mffu"><svg aria-hidden="true" class="open-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg><svg aria-hidden="true" class="close-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="m13.41 12 6.3-6.29a1.004 1.004 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1.004 1.004 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 0 1.42.998.998 0 0 0 1.42 0l6.29-6.3 6.29 6.3a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.42L13.41 12Z"/></svg></button></starlight-menu-button><script type="module">var e=class extends HTMLElement{btn=this.querySelector(`button`);constructor(){super(),this.btn.addEventListener(`click`,()=>this.toggleExpanded());let e=this.closest(`nav`);e&&e.addEventListener(`keyup`,e=>this.closeOnEscape(e)),matchMedia(`(min-width: 50em)`).addEventListener(`change`,()=>this.setExpanded(!1))}setExpanded(e){this.setAttribute(`aria-expanded`,String(e)),document.body.toggleAttribute(`data-mobile-menu-expanded`,e),document.querySelectorAll(`.main-frame, .sl-skip-link`).forEach(t=>{t.toggleAttribute(`inert`,e)})}toggleExpanded(){this.setExpanded(this.getAttribute(`aria-expanded`)!==`true`)}closeOnEscape(e){e.code===`Escape`&&(this.setExpanded(!1),this.btn.focus())}};customElements.define(`starlight-menu-button`,e);</script><div id="starlight__sidebar" class="sidebar-pane astro-gqpr5s5a"><div class="sidebar-content sl-flex astro-gqpr5s5a"><sl-sidebar-state-persist data-hash="070u86e" class="astro-f5yvicm7"><script aria-hidden="true">
42
42
  (() => {
43
43
  try {
44
44
  if (!matchMedia('(min-width: 50em)').matches) return;
@@ -61,7 +61,7 @@
61
61
  );
62
62
  } catch {}
63
63
  })();
64
- </script><ul class="top-level astro-wv7whodv"><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Home</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/social-media/" aria-current="page" class="large astro-wv7whodv"><span class="astro-wv7whodv">Social Media</span></a><ul class="page-toc astro-wv7whodv"><li class="depth-3 astro-wv7whodv"><a href="#blogs" class="astro-wv7whodv">Blogs</a></li><li class="depth-3 astro-wv7whodv"><a href="#vlogs" class="astro-wv7whodv">Vlogs</a></li><li class="depth-3 astro-wv7whodv"><a href="#forums" class="astro-wv7whodv">Forums</a></li></ul></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/charts/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Charts</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/open-source-projects/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Open Source Projects</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/protocols/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Protocols</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/vendors/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Vendors</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/news/" class="large astro-wv7whodv"><span class="astro-wv7whodv">News</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/education/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Education</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/reference/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Reference</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/index-of-terms/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Index</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/contributing/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Contributing</span></a></li></ul><script aria-hidden="true">
64
+ </script><ul class="top-level astro-wv7whodv"><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Home</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/social-media/" aria-current="page" class="large astro-wv7whodv"><span class="astro-wv7whodv">Social Media</span></a><ul class="page-toc astro-wv7whodv"><li class="depth-3 astro-wv7whodv"><a href="#blogs" class="astro-wv7whodv">Blogs</a></li><li class="depth-3 astro-wv7whodv"><a href="#vlogs" class="astro-wv7whodv">Vlogs</a></li><li class="depth-3 astro-wv7whodv"><a href="#forums" class="astro-wv7whodv">Forums</a></li></ul></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/charts/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Charts and Data</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/open-source-projects/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Open Source Projects</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/protocols/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Protocols</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/vendors/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Vendors</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/news/" class="large astro-wv7whodv"><span class="astro-wv7whodv">News</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/education/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Education</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/reference/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Reference</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/index-of-terms/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Index</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/contributing/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Contributing</span></a></li></ul><script aria-hidden="true">
65
65
  (() => {
66
66
  const scroller = document.getElementById('starlight__sidebar');
67
67
  if (!window._starlightScrollRestore || !scroller) return;
@@ -121,4 +121,4 @@
121
121
  <li id="raspberry-pi-for-boats"><img src="../images/icons/facebook.ico" width="16" height="16"> <a href="https://www.facebook.com/groups/1666364153609573/">Raspberry Pi for Boats</a> - Private Facebook group, >17k members, couple dozen posts per month.</li>
122
122
  <li id="signalk-google-group"><a href="https://groups.google.com/g/signalk">SignalK Google Group</a> - Active as of end 2025.</li>
123
123
  <li id="the-hull-truth"><a href="https://www.thehulltruth.com/marine-electronics-forum-19/">The Hull Truth</a> - Marine electronics forum.</li>
124
- </ul></div><footer class="sl-flex astro-xhxjzfa7"><div class="meta sl-flex astro-xhxjzfa7"></div><div class="pagination-links print:hidden astro-jgq3vlii" dir="ltr"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/" rel="prev" class="astro-jgq3vlii"><svg aria-hidden="true" class="astro-jgq3vlii astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M17 11H9.41l3.3-3.29a1.004 1.004 0 1 0-1.42-1.42l-5 5a1 1 0 0 0-.21.33 1 1 0 0 0 0 .76 1 1 0 0 0 .21.33l5 5a1.002 1.002 0 0 0 1.639-.325 1 1 0 0 0-.219-1.095L9.41 13H17a1 1 0 0 0 0-2Z"/></svg><span class="astro-jgq3vlii">Previous<br class="astro-jgq3vlii"><span class="link-title astro-jgq3vlii">Home</span></span></a><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/charts/" rel="next" class="astro-jgq3vlii"><svg aria-hidden="true" class="astro-jgq3vlii astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M17.92 11.62a1.001 1.001 0 0 0-.21-.33l-5-5a1.003 1.003 0 1 0-1.42 1.42l3.3 3.29H7a1 1 0 0 0 0 2h7.59l-3.3 3.29a1.002 1.002 0 0 0 .325 1.639 1 1 0 0 0 1.095-.219l5-5a1 1 0 0 0 .21-.33 1 1 0 0 0 0-.76Z"/></svg><span class="astro-jgq3vlii">Next<br class="astro-jgq3vlii"><span class="link-title astro-jgq3vlii">Charts</span></span></a></div></footer></div></div></main></div></div></div></div></body></html>
124
+ </ul></div><footer class="sl-flex astro-xhxjzfa7"><div class="meta sl-flex astro-xhxjzfa7"></div><div class="pagination-links print:hidden astro-jgq3vlii" dir="ltr"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/" rel="prev" class="astro-jgq3vlii"><svg aria-hidden="true" class="astro-jgq3vlii astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M17 11H9.41l3.3-3.29a1.004 1.004 0 1 0-1.42-1.42l-5 5a1 1 0 0 0-.21.33 1 1 0 0 0 0 .76 1 1 0 0 0 .21.33l5 5a1.002 1.002 0 0 0 1.639-.325 1 1 0 0 0-.219-1.095L9.41 13H17a1 1 0 0 0 0-2Z"/></svg><span class="astro-jgq3vlii">Previous<br class="astro-jgq3vlii"><span class="link-title astro-jgq3vlii">Home</span></span></a><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/charts/" rel="next" class="astro-jgq3vlii"><svg aria-hidden="true" class="astro-jgq3vlii astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M17.92 11.62a1.001 1.001 0 0 0-.21-.33l-5-5a1.003 1.003 0 1 0-1.42 1.42l3.3 3.29H7a1 1 0 0 0 0 2h7.59l-3.3 3.29a1.002 1.002 0 0 0 .325 1.639 1 1 0 0 0 1.095-.219l5-5a1 1 0 0 0 .21-.33 1 1 0 0 0 0-.76Z"/></svg><span class="astro-jgq3vlii">Next<br class="astro-jgq3vlii"><span class="link-title astro-jgq3vlii">Charts and Data</span></span></a></div></footer></div></div></main></div></div></div></div></body></html>
@@ -38,7 +38,7 @@
38
38
  })();
39
39
  </script><script type="module" src="/@rhizomatics/signalk-boat-tech-directory-plugin/_astro/Search.astro_astro_type_script_index_0_lang.3ca-UBSH.js"></script></div><div class="sl-hidden md:sl-flex print:hidden right-group astro-nczgtkxc"><div class="sl-flex social-icons astro-nczgtkxc"><a href="https://github.com/rhizomatics/boat-tech-directory" rel="me" class="sl-flex astro-cg55etiy"><span class="sr-only astro-cg55etiy">GitHub</span><svg aria-hidden="true" class="astro-cg55etiy astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg></a></div><starlight-theme-select><label style="--sl-select-width: 6.25em" class="astro-r2p65idu"><span class="sr-only astro-r2p65idu">Select theme</span><svg aria-hidden="true" class="icon label-icon astro-r2p65idu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg><select autocomplete="off" class="astro-r2p65idu"><option value="dark" class="astro-r2p65idu">Dark</option><option value="light" class="astro-r2p65idu">Light</option><option value="auto" selected class="astro-r2p65idu">Auto</option></select><svg aria-hidden="true" class="icon caret astro-r2p65idu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg></label></starlight-theme-select><script>
40
40
  StarlightThemeProvider.updatePickers();
41
- </script><script type="module">var e=`starlight-theme`,t=e=>e===`auto`||e===`dark`||e===`light`?e:`auto`,n=()=>t(typeof localStorage<`u`&&localStorage.getItem(e));function r(t){typeof localStorage<`u`&&localStorage.setItem(e,t===`light`||t===`dark`?t:``)}var i=()=>matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`;function a(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e===`auto`?i():e,r(e)}matchMedia(`(prefers-color-scheme: light)`).addEventListener(`change`,()=>{n()===`auto`&&a(`auto`)});var o=class extends HTMLElement{constructor(){super(),a(n()),this.querySelector(`select`)?.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&a(t(e.currentTarget.value))})}};customElements.define(`starlight-theme-select`,o);</script><script type="module">var e=class extends HTMLElement{constructor(){super();let e=this.querySelector(`select`);e&&(e.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=e.currentTarget.value)}),window.addEventListener(`pageshow`,t=>{if(!t.persisted)return;let n=e.querySelector(`option[selected]`)?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}};customElements.define(`starlight-lang-select`,e);</script></div></div></header><nav class="sidebar print:hidden astro-gqpr5s5a" aria-label="Main"><starlight-menu-button class="print:hidden astro-vvx7mffu"><button aria-expanded="false" aria-label="Menu" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-vvx7mffu"><svg aria-hidden="true" class="open-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg><svg aria-hidden="true" class="close-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="m13.41 12 6.3-6.29a1.004 1.004 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1.004 1.004 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 0 1.42.998.998 0 0 0 1.42 0l6.29-6.3 6.29 6.3a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.42L13.41 12Z"/></svg></button></starlight-menu-button><script type="module">var e=class extends HTMLElement{btn=this.querySelector(`button`);constructor(){super(),this.btn.addEventListener(`click`,()=>this.toggleExpanded());let e=this.closest(`nav`);e&&e.addEventListener(`keyup`,e=>this.closeOnEscape(e)),matchMedia(`(min-width: 50em)`).addEventListener(`change`,()=>this.setExpanded(!1))}setExpanded(e){this.setAttribute(`aria-expanded`,String(e)),document.body.toggleAttribute(`data-mobile-menu-expanded`,e),document.querySelectorAll(`.main-frame, .sl-skip-link`).forEach(t=>{t.toggleAttribute(`inert`,e)})}toggleExpanded(){this.setExpanded(this.getAttribute(`aria-expanded`)!==`true`)}closeOnEscape(e){e.code===`Escape`&&(this.setExpanded(!1),this.btn.focus())}};customElements.define(`starlight-menu-button`,e);</script><div id="starlight__sidebar" class="sidebar-pane astro-gqpr5s5a"><div class="sidebar-content sl-flex astro-gqpr5s5a"><sl-sidebar-state-persist data-hash="1u62lit" class="astro-f5yvicm7"><script aria-hidden="true">
41
+ </script><script type="module">var e=`starlight-theme`,t=e=>e===`auto`||e===`dark`||e===`light`?e:`auto`,n=()=>t(typeof localStorage<`u`&&localStorage.getItem(e));function r(t){typeof localStorage<`u`&&localStorage.setItem(e,t===`light`||t===`dark`?t:``)}var i=()=>matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`;function a(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e===`auto`?i():e,r(e)}matchMedia(`(prefers-color-scheme: light)`).addEventListener(`change`,()=>{n()===`auto`&&a(`auto`)});var o=class extends HTMLElement{constructor(){super(),a(n()),this.querySelector(`select`)?.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&a(t(e.currentTarget.value))})}};customElements.define(`starlight-theme-select`,o);</script><script type="module">var e=class extends HTMLElement{constructor(){super();let e=this.querySelector(`select`);e&&(e.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=e.currentTarget.value)}),window.addEventListener(`pageshow`,t=>{if(!t.persisted)return;let n=e.querySelector(`option[selected]`)?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}};customElements.define(`starlight-lang-select`,e);</script></div></div></header><nav class="sidebar print:hidden astro-gqpr5s5a" aria-label="Main"><starlight-menu-button class="print:hidden astro-vvx7mffu"><button aria-expanded="false" aria-label="Menu" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-vvx7mffu"><svg aria-hidden="true" class="open-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg><svg aria-hidden="true" class="close-menu astro-vvx7mffu astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="m13.41 12 6.3-6.29a1.004 1.004 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1.004 1.004 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 0 1.42.998.998 0 0 0 1.42 0l6.29-6.3 6.29 6.3a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.42L13.41 12Z"/></svg></button></starlight-menu-button><script type="module">var e=class extends HTMLElement{btn=this.querySelector(`button`);constructor(){super(),this.btn.addEventListener(`click`,()=>this.toggleExpanded());let e=this.closest(`nav`);e&&e.addEventListener(`keyup`,e=>this.closeOnEscape(e)),matchMedia(`(min-width: 50em)`).addEventListener(`change`,()=>this.setExpanded(!1))}setExpanded(e){this.setAttribute(`aria-expanded`,String(e)),document.body.toggleAttribute(`data-mobile-menu-expanded`,e),document.querySelectorAll(`.main-frame, .sl-skip-link`).forEach(t=>{t.toggleAttribute(`inert`,e)})}toggleExpanded(){this.setExpanded(this.getAttribute(`aria-expanded`)!==`true`)}closeOnEscape(e){e.code===`Escape`&&(this.setExpanded(!1),this.btn.focus())}};customElements.define(`starlight-menu-button`,e);</script><div id="starlight__sidebar" class="sidebar-pane astro-gqpr5s5a"><div class="sidebar-content sl-flex astro-gqpr5s5a"><sl-sidebar-state-persist data-hash="070u86e" class="astro-f5yvicm7"><script aria-hidden="true">
42
42
  (() => {
43
43
  try {
44
44
  if (!matchMedia('(min-width: 50em)').matches) return;
@@ -61,7 +61,7 @@
61
61
  );
62
62
  } catch {}
63
63
  })();
64
- </script><ul class="top-level astro-wv7whodv"><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Home</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/social-media/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Social Media</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/charts/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Charts</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/open-source-projects/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Open Source Projects</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/protocols/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Protocols</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/vendors/" aria-current="page" class="large astro-wv7whodv"><span class="astro-wv7whodv">Vendors</span></a><ul class="page-toc astro-wv7whodv"><li class="depth-3 astro-wv7whodv"><a href="#hardware" class="astro-wv7whodv">Hardware</a></li><li class="depth-3 astro-wv7whodv"><a href="#software" class="astro-wv7whodv">Software</a></li><li class="depth-3 astro-wv7whodv"><a href="#consultants" class="astro-wv7whodv">Consultants</a></li></ul></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/news/" class="large astro-wv7whodv"><span class="astro-wv7whodv">News</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/education/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Education</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/reference/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Reference</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/index-of-terms/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Index</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/contributing/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Contributing</span></a></li></ul><script aria-hidden="true">
64
+ </script><ul class="top-level astro-wv7whodv"><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Home</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/social-media/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Social Media</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/charts/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Charts and Data</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/open-source-projects/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Open Source Projects</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/protocols/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Protocols</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/vendors/" aria-current="page" class="large astro-wv7whodv"><span class="astro-wv7whodv">Vendors</span></a><ul class="page-toc astro-wv7whodv"><li class="depth-3 astro-wv7whodv"><a href="#hardware" class="astro-wv7whodv">Hardware</a></li><li class="depth-3 astro-wv7whodv"><a href="#software" class="astro-wv7whodv">Software</a></li><li class="depth-3 astro-wv7whodv"><a href="#consultants" class="astro-wv7whodv">Consultants</a></li></ul></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/news/" class="large astro-wv7whodv"><span class="astro-wv7whodv">News</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/education/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Education</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/reference/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Reference</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/index-of-terms/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Index</span></a></li><li class="astro-wv7whodv"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/contributing/" class="large astro-wv7whodv"><span class="astro-wv7whodv">Contributing</span></a></li></ul><script aria-hidden="true">
65
65
  (() => {
66
66
  const scroller = document.getElementById('starlight__sidebar');
67
67
  if (!window._starlightScrollRestore || !scroller) return;