@rhizomatics/signalk-boat-tech-directory-plugin 1.0.5 → 1.2.0

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.
Files changed (48) hide show
  1. package/assets/screenshots/home_page.png +0 -0
  2. package/package.json +9 -3
  3. package/public/404.html +3 -3
  4. package/public/_astro/Search.astro_astro_type_script_index_0_lang.3ca-UBSH.js +11 -0
  5. package/public/_astro/common.BVvL3Ez1.css +3 -0
  6. package/public/charts/index.html +10 -11
  7. package/public/contributing/index.html +15 -16
  8. package/public/education/index.html +18 -19
  9. package/public/index-of-terms/index.html +440 -0
  10. package/public/index.html +14 -15
  11. package/public/llms-full.txt +423 -2
  12. package/public/llms-small.txt +8 -2
  13. package/public/news/index.html +11 -12
  14. package/public/open-source-projects/index.html +72 -73
  15. package/public/pagefind/fragment/en_24967f6.pf_fragment +0 -0
  16. package/public/pagefind/fragment/en_27eb7fe.pf_fragment +0 -0
  17. package/public/pagefind/fragment/en_61fd815.pf_fragment +0 -0
  18. package/public/pagefind/fragment/en_66f3f96.pf_fragment +0 -0
  19. package/public/pagefind/fragment/en_8a7845c.pf_fragment +0 -0
  20. package/public/pagefind/fragment/en_a1b2b20.pf_fragment +0 -0
  21. package/public/pagefind/fragment/en_adb50b1.pf_fragment +0 -0
  22. package/public/pagefind/fragment/en_ae92862.pf_fragment +0 -0
  23. package/public/pagefind/fragment/en_bcdb7bc.pf_fragment +0 -0
  24. package/public/pagefind/fragment/en_e715258.pf_fragment +0 -0
  25. package/public/pagefind/fragment/en_f292d81.pf_fragment +0 -0
  26. package/public/pagefind/index/en_d1b6583.pf_index +0 -0
  27. package/public/pagefind/pagefind-entry.json +1 -1
  28. package/public/pagefind/pagefind.en_a9193b9242.pf_meta +0 -0
  29. package/public/protocols/index.html +36 -37
  30. package/public/reference/index.html +15 -16
  31. package/public/sitemap-0.xml +1 -1
  32. package/public/social-media/index.html +48 -49
  33. package/public/vendors/index.html +155 -156
  34. package/public/_astro/Search.astro_astro_type_script_index_0_lang.BimJz4th.js +0 -1
  35. package/public/_astro/common.Bj4YdBUY.css +0 -3
  36. package/public/_astro/ui-core.DRcs-CYs.js +0 -2
  37. package/public/pagefind/fragment/en_397fd6e.pf_fragment +0 -0
  38. package/public/pagefind/fragment/en_3f23609.pf_fragment +0 -0
  39. package/public/pagefind/fragment/en_5710f8e.pf_fragment +0 -0
  40. package/public/pagefind/fragment/en_6478b31.pf_fragment +0 -0
  41. package/public/pagefind/fragment/en_7ec3cb3.pf_fragment +0 -0
  42. package/public/pagefind/fragment/en_923a6bd.pf_fragment +0 -0
  43. package/public/pagefind/fragment/en_a6c8575.pf_fragment +0 -0
  44. package/public/pagefind/fragment/en_b16f36d.pf_fragment +0 -0
  45. package/public/pagefind/fragment/en_bf296a1.pf_fragment +0 -0
  46. package/public/pagefind/fragment/en_f0d5458.pf_fragment +0 -0
  47. package/public/pagefind/index/en_d27fbd8.pf_index +0 -0
  48. package/public/pagefind/pagefind.en_c0dcc24bf0.pf_meta +0 -0
@@ -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>Open Source Projects | Boat Tech Directory</title><link rel="canonical" href="https://boat-tech-directory.rhizomatics.org.uk/@rhizomatics/signalk-boat-tech-directory-plugin/open-source-projects/"/><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.1.4"/><meta name="generator" content="Starlight v0.41.5"/><meta property="og:title" content="Open Source Projects"/><meta property="og:type" content="article"/><meta property="og:url" content="https://boat-tech-directory.rhizomatics.org.uk/@rhizomatics/signalk-boat-tech-directory-plugin/open-source-projects/"/><meta property="og:locale" content="en"/><meta property="og:description" content="Software and firmware, including NMEA libraries."/><meta property="og:site_name" content="Boat Tech Directory"/><meta name="twitter:card" content="summary_large_image"/><meta name="description" content="Software and firmware, including NMEA libraries."/><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>Open Source Projects | Boat Tech Directory</title><link rel="canonical" href="https://boat-tech-directory.rhizomatics.org.uk/@rhizomatics/signalk-boat-tech-directory-plugin/open-source-projects/"/><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="Open Source Projects"/><meta property="og:type" content="article"/><meta property="og:url" content="https://boat-tech-directory.rhizomatics.org.uk/@rhizomatics/signalk-boat-tech-directory-plugin/open-source-projects/"/><meta property="og:locale" content="en"/><meta property="og:description" content="Software and firmware, including NMEA libraries."/><meta property="og:site_name" content="Boat Tech Directory"/><meta name="twitter:card" content="summary_large_image"/><meta name="description" content="Software and firmware, including NMEA libraries."/><script>
2
2
  window.StarlightThemeProvider = (() => {
3
3
  const storedTheme =
4
4
  typeof localStorage !== 'undefined' && localStorage.getItem('starlight-theme');
@@ -24,7 +24,7 @@
24
24
  },
25
25
  };
26
26
  })();
27
- </script><template id="theme-icons"><svg aria-hidden="true" class="light astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M5 12a1 1 0 0 0-1-1H3a1 1 0 0 0 0 2h1a1 1 0 0 0 1-1Zm.64 5-.71.71a1 1 0 0 0 0 1.41 1 1 0 0 0 1.41 0l.71-.71A1 1 0 0 0 5.64 17ZM12 5a1 1 0 0 0 1-1V3a1 1 0 0 0-2 0v1a1 1 0 0 0 1 1Zm5.66 2.34a1 1 0 0 0 .7-.29l.71-.71a1 1 0 1 0-1.41-1.41l-.66.71a1 1 0 0 0 0 1.41 1 1 0 0 0 .66.29Zm-12-.29a1 1 0 0 0 1.41 0 1 1 0 0 0 0-1.41l-.71-.71a1.004 1.004 0 1 0-1.43 1.41l.73.71ZM21 11h-1a1 1 0 0 0 0 2h1a1 1 0 0 0 0-2Zm-2.64 6A1 1 0 0 0 17 18.36l.71.71a1 1 0 0 0 1.41 0 1 1 0 0 0 0-1.41l-.76-.66ZM12 6.5a5.5 5.5 0 1 0 5.5 5.5A5.51 5.51 0 0 0 12 6.5Zm0 9a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7Zm0 3.5a1 1 0 0 0-1 1v1a1 1 0 0 0 2 0v-1a1 1 0 0 0-1-1Z"/></svg><svg aria-hidden="true" class="dark astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21.64 13a1 1 0 0 0-1.05-.14 8.049 8.049 0 0 1-3.37.73 8.15 8.15 0 0 1-8.14-8.1 8.59 8.59 0 0 1 .25-2A1 1 0 0 0 8 2.36a10.14 10.14 0 1 0 14 11.69 1 1 0 0 0-.36-1.05Zm-9.5 6.69A8.14 8.14 0 0 1 7.08 5.22v.27a10.15 10.15 0 0 0 10.14 10.14 9.784 9.784 0 0 0 2.1-.22 8.11 8.11 0 0 1-7.18 4.32v-.04Z"/></svg><svg aria-hidden="true" class="auto 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></template><link rel="stylesheet" href="/@rhizomatics/signalk-boat-tech-directory-plugin/_astro/print.ehPL0gv-.css" media="print"><link rel="stylesheet" href="/@rhizomatics/signalk-boat-tech-directory-plugin/_astro/common.Bj4YdBUY.css"><script type="module" src="/@rhizomatics/signalk-boat-tech-directory-plugin/_astro/page.LAbJoB63.js"></script></head><body class="astro-vdxcvpsm"><a class="sl-skip-link astro-vxeigawq" href="#_top">Skip to content</a><div class="page sl-flex astro-gqpr5s5a"><header class="header astro-gqpr5s5a"><div class="header astro-nczgtkxc"><div class="title-wrapper sl-flex astro-nczgtkxc"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/" class="site-title sl-flex astro-clw6ags5"><span class="astro-clw6ags5" translate="no">Boat Tech Directory</span></a></div><div class="sl-flex print:hidden astro-nczgtkxc"><site-search class="astro-nczgtkxc astro-r5ar4xm7" data-translations="{&quot;placeholder&quot;:&quot;Search&quot;}"><button data-open-modal disabled aria-label="Search" aria-keyshortcuts="Control+K" class="astro-r5ar4xm7"><svg aria-hidden="true" class="astro-r5ar4xm7 astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21.71 20.29 18 16.61A9 9 0 1 0 16.61 18l3.68 3.68a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.39ZM11 18a7 7 0 1 1 0-14 7 7 0 0 1 0 14Z"/></svg><span class="sl-hidden md:sl-block astro-r5ar4xm7" aria-hidden="true">Search</span><kbd class="sl-hidden md:sl-flex astro-r5ar4xm7" style="display: none;"><kbd class="astro-r5ar4xm7">Ctrl</kbd><kbd class="astro-r5ar4xm7">K</kbd></kbd></button><dialog style="padding:0" aria-label="Search" class="astro-r5ar4xm7"><div class="dialog-frame sl-flex astro-r5ar4xm7"><button data-close-modal class="sl-flex md:sl-hidden astro-r5ar4xm7">Cancel</button><div class="search-container astro-r5ar4xm7"><div id="starlight__search" class="astro-r5ar4xm7"></div></div></div></dialog></site-search><script>
27
+ </script><template id="theme-icons"><svg aria-hidden="true" class="light astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M5 12a1 1 0 0 0-1-1H3a1 1 0 0 0 0 2h1a1 1 0 0 0 1-1Zm.64 5-.71.71a1 1 0 0 0 0 1.41 1 1 0 0 0 1.41 0l.71-.71A1 1 0 0 0 5.64 17ZM12 5a1 1 0 0 0 1-1V3a1 1 0 0 0-2 0v1a1 1 0 0 0 1 1Zm5.66 2.34a1 1 0 0 0 .7-.29l.71-.71a1 1 0 1 0-1.41-1.41l-.66.71a1 1 0 0 0 0 1.41 1 1 0 0 0 .66.29Zm-12-.29a1 1 0 0 0 1.41 0 1 1 0 0 0 0-1.41l-.71-.71a1.004 1.004 0 1 0-1.43 1.41l.73.71ZM21 11h-1a1 1 0 0 0 0 2h1a1 1 0 0 0 0-2Zm-2.64 6A1 1 0 0 0 17 18.36l.71.71a1 1 0 0 0 1.41 0 1 1 0 0 0 0-1.41l-.76-.66ZM12 6.5a5.5 5.5 0 1 0 5.5 5.5A5.51 5.51 0 0 0 12 6.5Zm0 9a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7Zm0 3.5a1 1 0 0 0-1 1v1a1 1 0 0 0 2 0v-1a1 1 0 0 0-1-1Z"/></svg><svg aria-hidden="true" class="dark astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21.64 13a1 1 0 0 0-1.05-.14 8.049 8.049 0 0 1-3.37.73 8.15 8.15 0 0 1-8.14-8.1 8.59 8.59 0 0 1 .25-2A1 1 0 0 0 8 2.36a10.14 10.14 0 1 0 14 11.69 1 1 0 0 0-.36-1.05Zm-9.5 6.69A8.14 8.14 0 0 1 7.08 5.22v.27a10.15 10.15 0 0 0 10.14 10.14 9.784 9.784 0 0 0 2.1-.22 8.11 8.11 0 0 1-7.18 4.32v-.04Z"/></svg><svg aria-hidden="true" class="auto 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></template><link rel="stylesheet" href="/@rhizomatics/signalk-boat-tech-directory-plugin/_astro/print.ehPL0gv-.css" media="print"><link rel="stylesheet" href="/@rhizomatics/signalk-boat-tech-directory-plugin/_astro/common.BVvL3Ez1.css"><script type="module" src="/@rhizomatics/signalk-boat-tech-directory-plugin/_astro/page.LAbJoB63.js"></script></head><body class="astro-vdxcvpsm"><a class="sl-skip-link astro-vxeigawq" href="#_top">Skip to content</a><div class="page sl-flex astro-gqpr5s5a"><header class="header astro-gqpr5s5a"><div class="header astro-nczgtkxc"><div class="title-wrapper sl-flex astro-nczgtkxc"><a href="/@rhizomatics/signalk-boat-tech-directory-plugin/" class="site-title sl-flex astro-clw6ags5"><span class="astro-clw6ags5" translate="no">Boat Tech Directory</span></a></div><div class="sl-flex print:hidden astro-nczgtkxc"><site-search class="astro-nczgtkxc astro-ac66eqjo" data-translations="{&quot;placeholder&quot;:&quot;Search&quot;}"><button data-open-modal disabled aria-label="Search" aria-keyshortcuts="Control+K" class="astro-ac66eqjo"><svg aria-hidden="true" class="astro-ac66eqjo astro-n5k4ipy7" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21.71 20.29 18 16.61A9 9 0 1 0 16.61 18l3.68 3.68a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.39ZM11 18a7 7 0 1 1 0-14 7 7 0 0 1 0 14Z"/></svg><span class="sl-hidden md:sl-block astro-ac66eqjo" aria-hidden="true">Search</span><kbd class="sl-hidden md:sl-flex astro-ac66eqjo" style="display: none;"><kbd class="astro-ac66eqjo">Ctrl</kbd><kbd class="astro-ac66eqjo">K</kbd></kbd></button><dialog style="padding:0" aria-label="Search" class="astro-ac66eqjo"><div class="dialog-frame sl-flex astro-ac66eqjo"><button data-close-modal class="sl-flex md:sl-hidden astro-ac66eqjo">Cancel</button><div class="search-container astro-ac66eqjo"><div id="starlight__search" class="astro-ac66eqjo"><form id="starlight__search-form" role="search" aria-label="Search" class="astro-ac66eqjo"><input id="starlight__search-input" type="text" autocapitalize="none" enterkeyhint="search" placeholder="Search" title="Search" class="astro-ac66eqjo"><button type="button" id="starlight__search-clear" hidden class="astro-ac66eqjo">Search</button></form><div id="starlight__search-results-area" hidden class="astro-ac66eqjo"><p id="starlight__search-message" role="status" class="astro-ac66eqjo"></p><ol id="starlight__search-results" class="astro-ac66eqjo"></ol></div></div></div></div></dialog></site-search><script>
28
28
  (() => {
29
29
  const openBtn = document.querySelector('button[data-open-modal]');
30
30
  const shortcut = openBtn?.querySelector('kbd');
@@ -36,9 +36,9 @@
36
36
  }
37
37
  shortcut.style.display = '';
38
38
  })();
39
- </script><script type="module" src="/@rhizomatics/signalk-boat-tech-directory-plugin/_astro/Search.astro_astro_type_script_index_0_lang.BimJz4th.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>
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="023q97n" 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="1u62lit" 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/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</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;
@@ -73,91 +73,90 @@
73
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">Open Source Projects</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
74
  <p>Software projects for boats, with recent commits as of 2026.</p>
75
75
  <ul>
76
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/jvde-github/AIS-catcher">AIS-catcher</a> - AIS receiver for software defined radio (SDR) dongles.</li>
77
- <li><a href="https://www.wellenvogel.net/software/avnav/docs/beschreibung.html?lang=en">AvNav</a> - Plotter with Android app and SignalK integration. German with English docs.</li>
78
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://bareboat-necessities.github.io/my-bareboat/bareboat-os.html">Bareboat Necessities</a> - All in one operating system, incorporating OpenCPN, SignalK, PyPilot etc plus open source hardware projects.</li>
79
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/miniwinwm/BlueBridge">BlueBridge</a> - Android app integration with NMEA data via MQTT and Bluetooth.</li>
80
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/bigbrainlabs/BoatOpenIO">BoatOpenIO</a> - ESP-32 16-channel analog marine gateway for legacy VDO sensors, integrating analog instruments to MQTT and SignalK.</li>
81
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/davedoesdemos/BoatyPi">BoatyPi</a> - Open source hardware/software for boat ePaper display.</li>
82
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/hoeken/brineomatic">BrineOMatic</a> - Watermaker controller for ESP32, open source hardware and software, integrates with SignalK and Home Assistant.</li>
83
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/canboat/canboat">CAN Boat</a> - NMEA2000 and NMEA 0183 CLI utilities.</li>
84
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/SkipperDon/d3kOS">d3kOS</a> - Raspberry Pi based navigation and automation platform.</li>
85
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/cr/discotime/">DiscoTime</a> - Time and lat/long dashboard for long distance passages.</li>
86
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/rhizomatics/signalk-einklabel-plugin">eInk Labels for SignalK</a> - SignalK plugin to send SignalK path data or API results to an BLE eInk Electronic Shelf Label.</li>
87
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/VladimirKalachikhin/Galadriel-map">Galadriel Plotter</a> - Raster based chartplotter for low power servers.</li>
88
- <li><img src="../images/icons/gitlab.png" width="16" height="16"> <a href="https://gpsd.gitlab.io/gpsd/index.html">gpsd</a> - GPS and AIS daemon wrapping NMEA0183 in its own simpler format. C, Python. Ubiquitous.</li>
89
- <li><a href="https://gweatherrouting.org">GWeatherRouting</a> - Navigation and automated routing, Python/GTK4.</li>
90
- <li><a href="https://gypsy.freedesktop.org">gypsy</a> - Multiplexer for GPS NMEA data, daemon and C library, alternative to gpsd.</li>
91
- <li><a href="https://ilma.sailorslog.io">Ilma</a> - Software based Navtex receiver for Raspberry Pi or similar.</li>
92
- <li><img src="../images/icons/gitlab.png" width="16" height="16"> <a href="https://github.com/richcreations/imud">imud</a> - IMU (Inertial Measurement Unit)/Magnetometer multiplexer with NMEA stream for chartplotters.</li>
93
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/mxtommy/Kip">Kip</a> - SignalK dashboard / instrument display.</li>
94
- <li><a href="https://www.stripydog.com/kplex/">KPlex</a> - NMEA0183 multiplexer for Linux, Unix, macOS and OpenWRT. (<a href="https://groups.google.com/g/kplex">Google Group</a>).</li>
95
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://dakk.github.io/libweatherrouting/">libWeatherRouting</a> - Python weather routing library with linear iso-routing and shortest path routes.</li>
96
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/peterantypas/maiana">Maiana</a> - AIS Transponder open hardware/software.</li>
97
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/wholybee/chartplotter">Marine Chart Viewer</a> - QT6 based chart plotter for Windows, Linux and macOS. Displays ENC and CM93 charts and GSHHG basemap.</li>
98
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/MarineYachtRadar">MarineYachtRadar</a> - <em>MaYaRa</em> server, display, OpenCPN and SignalK integration as open alternative to commercial radar processing.</li>
99
- <li><a href="https://marinux.tuxfamily.org">Marinux</a> - <em>Muplex</em> NMEA multiplexer, <em>OSD Depth</em> echo-sounder display.</li>
100
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/svalentinf/nm2k">nm2k</a> - NMEA0183 and NMEA2000 web based visualization and analysis.</li>
101
- <li><a href="https://opencpn.org">OpenCPN</a> - Chart Plotter for macOS, Windows, Linux, Raspi and Android.</li>
102
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/OpenMarineSystems">Open Marine Systems</a> - Home Assistant add-ons for navigation and anchor watch, installed via HACS.</li>
103
- <li><a href="https://open-boat-projects.org/en/">Open Boat Projects</a> - DIY hardware and open source projects, English and German.</li>
104
- <li><a href="https://github.com/OpenFairWind">OpenFairWind</a> - Alternative user interface, QT based, <em>FairwindSK</em> for SignalK on macOS, Windows, Linux, Android, iPhoje and iPad.</li>
105
- <li><a href="https://openplotter.readthedocs.io/">OpenPlotter</a> - Combined project of SignalK, OpenCPN, PyPilot etc.</li>
106
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/semuconsulting/PyGPSClient">PyGPSClient</a> - Python GPS/GNSS testing, diagnostic and configuration, incl NMEA integration.</li>
107
- <li><a href="https://pypilot.org">PyPilot</a> - Python based auto-pilot.</li>
108
- <li><img src="../images/icons/github.ico" width="16" height="16"><a href="https://github.com/rhizomatics">Rhizomatics</a> - SignalK and Home Assistant plug-ins and associated apps.</li>
109
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/OlivierLD/ROB">ROB</a> - Raspberry Pi On Board, Java and Python navigation utilities.</li>
110
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/adam-gol/sail-o-vision">Sail-O-Vision</a> - Obstacle and wildlife detection with camera and NVIDIA Jetson.</li>
111
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://metisvela.github.io/sailtrack/">Sailtrack</a> - Modular racing performance tracker using MQTT.</li>
112
- <li><a href="https://signalk.org">SignalK</a> - Node.js pluggable framework for boat data distribution and analysis.</li>
113
- <li><a href="https://smartboatinnovations.com">Smart Boat Innovations</a> - Videos and articles on building a Raspberry Pi and Home Assistant based smart boat.</li>
114
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/TwoCanPlugIn/TwoCanPlugIn">TwoCan</a> - NMEA2000 integration for OpenCPN.</li>
115
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/victronenergy/venus">Venus</a> - Victron Energy’s open source OS for their GX products, available for self-hosting on Raspberry Pi.</li>
116
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/Djaahny">Xilje</a> - Garmin integration projects, incl plotter display of local web apps and PyPilot integration.</li>
76
+ <li id="ais-catcher"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/jvde-github/AIS-catcher">AIS-catcher</a> - AIS receiver for software defined radio (SDR) dongles.</li>
77
+ <li id="avnav"><a href="https://www.wellenvogel.net/software/avnav/docs/beschreibung.html?lang=en">AvNav</a> - Plotter with Android app and SignalK integration. German with English docs.</li>
78
+ <li id="bareboat-necessities"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://bareboat-necessities.github.io/my-bareboat/bareboat-os.html">Bareboat Necessities</a> - All in one operating system, incorporating OpenCPN, SignalK, PyPilot etc plus open source hardware projects.</li>
79
+ <li id="bluebridge"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/miniwinwm/BlueBridge">BlueBridge</a> - Android app integration with NMEA data via MQTT and Bluetooth.</li>
80
+ <li id="boatopenio"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/bigbrainlabs/BoatOpenIO">BoatOpenIO</a> - ESP-32 16-channel analog marine gateway for legacy VDO sensors, integrating analog instruments to MQTT and SignalK.</li>
81
+ <li id="boatypi"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/davedoesdemos/BoatyPi">BoatyPi</a> - Open source hardware/software for boat ePaper display.</li>
82
+ <li id="brineomatic"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/hoeken/brineomatic">BrineOMatic</a> - Watermaker controller for ESP32, open source hardware and software, integrates with SignalK and Home Assistant.</li>
83
+ <li id="can-boat"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/canboat/canboat">CAN Boat</a> - NMEA2000 and NMEA 0183 CLI utilities.</li>
84
+ <li id="d3kos"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/SkipperDon/d3kOS">d3kOS</a> - Raspberry Pi based navigation and automation platform.</li>
85
+ <li id="discotime"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/cr/discotime/">DiscoTime</a> - Time and lat/long dashboard for long distance passages.</li>
86
+ <li id="eink-labels-for-signalk"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/rhizomatics/signalk-einklabel-plugin">eInk Labels for SignalK</a> - SignalK plugin to send SignalK path data or API results to an BLE eInk Electronic Shelf Label.</li>
87
+ <li id="galadriel-plotter"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/VladimirKalachikhin/Galadriel-map">Galadriel Plotter</a> - Raster based chartplotter for low power servers.</li>
88
+ <li id="gpsd"><img src="../images/icons/gitlab.png" width="16" height="16"> <a href="https://gpsd.gitlab.io/gpsd/index.html">gpsd</a> - GPS and AIS daemon wrapping NMEA0183 in its own simpler format. C, Python. Ubiquitous.</li>
89
+ <li id="gweatherrouting"><a href="https://gweatherrouting.org">GWeatherRouting</a> - Navigation and automated routing, Python/GTK4.</li>
90
+ <li id="gypsy"><a href="https://gypsy.freedesktop.org">gypsy</a> - Multiplexer for GPS NMEA data, daemon and C library, alternative to gpsd.</li>
91
+ <li id="ilma"><a href="https://ilma.sailorslog.io">Ilma</a> - Software based Navtex receiver for Raspberry Pi or similar.</li>
92
+ <li id="imud"><img src="../images/icons/gitlab.png" width="16" height="16"> <a href="https://github.com/richcreations/imud">imud</a> - IMU (Inertial Measurement Unit)/Magnetometer multiplexer with NMEA stream for chartplotters.</li>
93
+ <li id="kip"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/mxtommy/Kip">Kip</a> - SignalK dashboard / instrument display.</li>
94
+ <li id="kplex"><a href="https://www.stripydog.com/kplex/">KPlex</a> - NMEA0183 multiplexer for Linux, Unix, macOS and OpenWRT. (<a href="https://groups.google.com/g/kplex">Google Group</a>).</li>
95
+ <li id="libweatherrouting"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://dakk.github.io/libweatherrouting/">libWeatherRouting</a> - Python weather routing library with linear iso-routing and shortest path routes.</li>
96
+ <li id="maiana"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/peterantypas/maiana">Maiana</a> - AIS Transponder open hardware/software.</li>
97
+ <li id="marine-chart-viewer"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/wholybee/chartplotter">Marine Chart Viewer</a> - QT6 based chart plotter for Windows, Linux and macOS. Displays ENC and CM93 charts and GSHHG basemap.</li>
98
+ <li id="marineyachtradar"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/MarineYachtRadar">MarineYachtRadar</a> - <em>MaYaRa</em> server, display, OpenCPN and SignalK integration as open alternative to commercial radar processing.</li>
99
+ <li id="marinux"><a href="https://marinux.tuxfamily.org">Marinux</a> - <em>Muplex</em> NMEA multiplexer, <em>OSD Depth</em> echo-sounder display.</li>
100
+ <li id="nm2k"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/svalentinf/nm2k">nm2k</a> - NMEA0183 and NMEA2000 web based visualization and analysis.</li>
101
+ <li id="opencpn"><a href="https://opencpn.org">OpenCPN</a> - Chart Plotter for macOS, Windows, Linux, Raspi and Android.</li>
102
+ <li id="open-marine-systems"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/OpenMarineSystems">Open Marine Systems</a> - Home Assistant add-ons for navigation and anchor watch, installed via HACS.</li>
103
+ <li id="open-boat-projects"><a href="https://open-boat-projects.org/en/">Open Boat Projects</a> - DIY hardware and open source projects, English and German.</li>
104
+ <li id="openfairwind"><a href="https://github.com/OpenFairWind">OpenFairWind</a> - Alternative user interface, QT based, <em>FairwindSK</em> for SignalK on macOS, Windows, Linux, Android, iPhoje and iPad.</li>
105
+ <li id="openplotter"><a href="https://openplotter.readthedocs.io/">OpenPlotter</a> - Combined project of SignalK, OpenCPN, PyPilot etc.</li>
106
+ <li id="pygpsclient"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/semuconsulting/PyGPSClient">PyGPSClient</a> - Python GPS/GNSS testing, diagnostic and configuration, incl NMEA integration.</li>
107
+ <li id="pypilot"><a href="https://pypilot.org">PyPilot</a> - Python based auto-pilot.</li>
108
+ <li id="rhizomatics"><img src="../images/icons/github.ico" width="16" height="16"><a href="https://github.com/rhizomatics">Rhizomatics</a> - SignalK and Home Assistant plug-ins and associated apps.</li>
109
+ <li id="rob"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/OlivierLD/ROB">ROB</a> - Raspberry Pi On Board, Java and Python navigation utilities.</li>
110
+ <li id="sail-o-vision"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/adam-gol/sail-o-vision">Sail-O-Vision</a> - Obstacle and wildlife detection with camera and NVIDIA Jetson.</li>
111
+ <li id="sailtrack"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://metisvela.github.io/sailtrack/">Sailtrack</a> - Modular racing performance tracker using MQTT.</li>
112
+ <li id="signalk"><a href="https://signalk.org">SignalK</a> - Node.js pluggable framework for boat data distribution and analysis.</li>
113
+ <li id="smart-boat-innovations"><a href="https://smartboatinnovations.com">Smart Boat Innovations</a> - Videos and articles on building a Raspberry Pi and Home Assistant based smart boat.</li>
114
+ <li id="twocan"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/TwoCanPlugIn/TwoCanPlugIn">TwoCan</a> - NMEA2000 integration for OpenCPN.</li>
115
+ <li id="venus"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/victronenergy/venus">Venus</a> - Victron Energy’s open source OS for their GX products, available for self-hosting on Raspberry Pi.</li>
116
+ <li id="xilje"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/Djaahny">Xilje</a> - Garmin integration projects, incl plotter display of local web apps and PyPilot integration.</li>
117
117
  </ul>
118
- <div class="sl-heading-wrapper level-h3"><h3 id="nmea">NMEA</h3><a class="sl-anchor-link" href="#nmea"><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 “NMEA”</span></a></div>
118
+ <div class="sl-heading-wrapper level-h3"><h3 id="nmea">NMEA</h3><a class="sl-anchor-link" href="#nmea"><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 “NMEA”</span></a></div>
119
119
  <p>See also <a href="https://opencpn.org/wiki/dokuwiki/doku.php?id=opencpn:supplementary_software:nmea_instruments">OpenCPN NMEA Tools</a>.</p>
120
120
  <!--lint disable no-repeat-punctuation code-block-style-->
121
- <aside aria-label="Not all NMEA is what it seems" class="starlight-aside starlight-aside--note"><p class="starlight-aside__title" aria-hidden="true"><svg viewBox="0 0 24 24" width="16" height="16" fill="currentColor" class="starlight-aside__icon"><path d="M12 11a1 1 0 0 0-1 1v4a1 1 0 0 0 2 0v-4a1 1 0 0 0-1-1Zm.38-3.92a1 1 0 0 0-.76 0 1 1 0 0 0-.33.21 1.15 1.15 0 0 0-.21.33 1 1 0 0 0 .21 1.09c.097.088.209.16.33.21A1 1 0 0 0 13 8a1.05 1.05 0 0 0-.29-.71 1 1 0 0 0-.33-.21ZM12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm0 18a8 8 0 1 1 0-16.001A8 8 0 0 1 12 20Z"/></svg>Not all NMEA is what it seems</p><div class="starlight-aside__content"><p>A tiny subset of NMEA 0183 is used for GPS integration on almost all devices that handle GPS, including mobile phones, and so has vastly more usage than marine NMEA use cases. Hence, not everything labelled ‘NMEA’ may be useful in a boating context.</p></div></aside>
121
+ <aside aria-label="Not all NMEA is what it seems" class="starlight-aside starlight-aside--note"><p class="starlight-aside__title" aria-hidden="true"><svg viewBox="0 0 24 24" width="16" height="16" fill="currentColor" class="starlight-aside__icon"><path d="M12 11a1 1 0 0 0-1 1v4a1 1 0 0 0 2 0v-4a1 1 0 0 0-1-1Zm.38-3.92a1 1 0 0 0-.76 0 1 1 0 0 0-.33.21 1.15 1.15 0 0 0-.21.33 1 1 0 0 0 .21 1.09c.097.088.209.16.33.21A1 1 0 0 0 13 8a1.05 1.05 0 0 0-.29-.71 1 1 0 0 0-.33-.21ZM12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm0 18a8 8 0 1 1 0-16.001A8 8 0 0 1 12 20Z"></path></svg>Not all NMEA is what it seems</p><div class="starlight-aside__content"><p>A tiny subset of NMEA 0183 is used for GPS integration on almost all devices that handle GPS, including mobile phones, and so has vastly more usage than marine NMEA use cases. Hence, not everything labelled ‘NMEA’ may be useful in a boating context.</p></div></aside>
122
122
  <!--lint enable no-repeat-punctuation code-block-style-->
123
- <div class="sl-heading-wrapper level-h4"><h4 id="c-and-c">C and C++</h4><a class="sl-anchor-link" href="#c-and-c"><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 “C and C++”</span></a></div>
123
+ <div class="sl-heading-wrapper level-h4"><h4 id="c-and-c">C and C++</h4><a class="sl-anchor-link" href="#c-and-c"><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 “C and C++”</span></a></div>
124
124
  <ul>
125
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/kosma/minmea">minmea</a> - GPS NMEA0183 parser in C.</li>
125
+ <li id="minmea"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/kosma/minmea">minmea</a> - GPS NMEA0183 parser in C.</li>
126
126
  </ul>
127
- <div class="sl-heading-wrapper level-h4"><h4 id="c">C#</h4><a class="sl-anchor-link" href="#c"><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 “C#”</span></a></div>
127
+ <div class="sl-heading-wrapper level-h4"><h4 id="c">C#</h4><a class="sl-anchor-link" href="#c"><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 “C#”</span></a></div>
128
128
  <ul>
129
- <li><a href="https://openskipper.org">OpenSkipper</a> - C# based NMEA2000, NMEA0183 and AIS integration, last updated 2023.</li>
129
+ <li id="openskipper"><a href="https://openskipper.org">OpenSkipper</a> - C# based NMEA2000, NMEA0183 and AIS integration, last updated 2023.</li>
130
130
  </ul>
131
- <div class="sl-heading-wrapper level-h4"><h4 id="esp32">ESP32</h4><a class="sl-anchor-link" href="#esp32"><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 “ESP32”</span></a></div>
131
+ <div class="sl-heading-wrapper level-h4"><h4 id="esp32">ESP32</h4><a class="sl-anchor-link" href="#esp32"><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 “ESP32”</span></a></div>
132
132
  <ul>
133
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/wellenvogel/esp32-nmea2000">ESP32 NMEA2000</a> - NMEA2000 integration with USB, Wifi, 0183 on M5 Atom CAN and compatible with other ESP32.</li>
134
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/ttlappalainen/NMEA2000">NMEA2000</a> - Arduino NMEA2000 interfacing library used in several commercial products.</li>
135
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/sailingfree/NMEA2000_ais_wifi_gw">NMEA2000_ais_wifi_gw</a> - ESP32 based NMEA2000 gateway.</li>
136
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/ttlappalainen/NMEA2000_esp32">NMEA2000_esp32</a> - ESP32 objects for use with NMEA2000 library.</li>
137
- <li><a href="https://signalk.org/SensESP/">Sens32</a> - ESP32 based sensors for SignalK.</li>
133
+ <li id="esp32-nmea2000"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/wellenvogel/esp32-nmea2000">ESP32 NMEA2000</a> - NMEA2000 integration with USB, Wifi, 0183 on M5 Atom CAN and compatible with other ESP32.</li>
134
+ <li id="nmea2000"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/ttlappalainen/NMEA2000">NMEA2000</a> - Arduino NMEA2000 interfacing library used in several commercial products.</li>
135
+ <li id="nmea2000_ais_wifi_gw"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/sailingfree/NMEA2000_ais_wifi_gw">NMEA2000_ais_wifi_gw</a> - ESP32 based NMEA2000 gateway.</li>
136
+ <li id="nmea2000_esp32"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/ttlappalainen/NMEA2000_esp32">NMEA2000_esp32</a> - ESP32 objects for use with NMEA2000 library.</li>
137
+ <li id="sens32"><a href="https://signalk.org/SensESP/">Sens32</a> - Sensor development framework for ESP32 based sensors by SignalK.</li>
138
138
  </ul>
139
- <div class="sl-heading-wrapper level-h4"><h4 id="golang">GoLang</h4><a class="sl-anchor-link" href="#golang"><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 “GoLang”</span></a></div>
139
+ <div class="sl-heading-wrapper level-h4"><h4 id="golang">GoLang</h4><a class="sl-anchor-link" href="#golang"><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 “GoLang”</span></a></div>
140
140
  <ul>
141
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/adrianmo/go-nmea">go-nmea</a> - NMEA 0183 sentence parser.</li>
142
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/martinmarsh/nmea0183">nmea0183</a> - NMEA 0183 sentence parser, with Actisense integration examples.</li>
141
+ <li id="go-nmea"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/adrianmo/go-nmea">go-nmea</a> - NMEA 0183 sentence parser.</li>
142
+ <li id="nmea0183"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/martinmarsh/nmea0183">nmea0183</a> - NMEA 0183 sentence parser, with Actisense integration examples.</li>
143
143
  </ul>
144
- <div class="sl-heading-wrapper level-h4"><h4 id="javascript">JavaScript</h4><a class="sl-anchor-link" href="#javascript"><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 “JavaScript”</span></a></div>
144
+ <div class="sl-heading-wrapper level-h4"><h4 id="javascript">JavaScript</h4><a class="sl-anchor-link" href="#javascript"><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 “JavaScript”</span></a></div>
145
145
  <ul>
146
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/canboat/canboatjs">canboatjs</a> - Native CAN Bus / NMEA 2000 interfacing.</li>
147
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/101100/nmea-simple">nmea-simple</a> - NMEA 0183 sentence parser. Fork of the now deprecated <code dir="auto">nmea</code> package.</li>
146
+ <li id="canboatjs"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/canboat/canboatjs">canboatjs</a> - Native CAN Bus / NMEA 2000 interfacing.</li>
147
+ <li id="nmea-simple"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/101100/nmea-simple">nmea-simple</a> - NMEA 0183 sentence parser. Fork of the now deprecated <code dir="auto">nmea</code> package.</li>
148
148
  </ul>
149
- <div class="sl-heading-wrapper level-h4"><h4 id="python">Python</h4><a class="sl-anchor-link" href="#python"><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 “Python”</span></a></div>
149
+ <div class="sl-heading-wrapper level-h4"><h4 id="python">Python</h4><a class="sl-anchor-link" href="#python"><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 “Python”</span></a></div>
150
150
  <p>Lots more libraries and tools can be found on PyPI, for example <a href="https://pypi.org/search/?q=nmea">NMEA</a>-related.</p>
151
151
  <ul>
152
- <li><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/Knio/pynmea2">pynmea2</a> - NMEA 0183 sentence parser.</li>
153
- <li><img src="../images/icons/gitlab.png" width="16" height="16"> <a href="https://gitlab.com/nmeasim/nmeasim">nmeasim</a> - NMEA/GNSS receiver simulator.</li>
152
+ <li id="pynmea2"><img src="../images/icons/github.ico" width="16" height="16"> <a href="https://github.com/Knio/pynmea2">pynmea2</a> - NMEA 0183 sentence parser.</li>
153
+ <li id="nmeasim"><img src="../images/icons/gitlab.png" width="16" height="16"> <a href="https://gitlab.com/nmeasim/nmeasim">nmeasim</a> - NMEA/GNSS receiver simulator.</li>
154
154
  </ul>
155
- <div class="sl-heading-wrapper level-h4"><h4 id="rust">Rust</h4><a class="sl-anchor-link" href="#rust"><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 “Rust”</span></a></div>
155
+ <div class="sl-heading-wrapper level-h4"><h4 id="rust">Rust</h4><a class="sl-anchor-link" href="#rust"><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 “Rust”</span></a></div>
156
156
  <ul>
157
- <li><a href="https://crates.io/crates/nmea">nmea crate</a> - NMEA 0183 sentence parser.</li>
157
+ <li id="nmea-crate"><a href="https://crates.io/crates/nmea">nmea crate</a> - NMEA 0183 sentence parser.</li>
158
158
  </ul>
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>
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
- <li><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>
163
- </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>
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>
@@ -1 +1 @@
1
- {"version":"1.5.2","languages":{"en":{"hash":"en_c0dcc24bf0","wasm":"en","page_count":10}},"include_characters":["_","‿","⁀","⁔","︳","︴","﹍","﹎","﹏","_"]}
1
+ {"version":"1.5.2","languages":{"en":{"hash":"en_a9193b9242","wasm":"en","page_count":11}},"include_characters":["_","‿","⁀","⁔","︳","︴","﹍","﹎","﹏","_"]}