diff --git a/.github/workflows/build_documentation.yml b/.github/workflows/build_documentation.yml index a20e33f..62e4fde 100644 --- a/.github/workflows/build_documentation.yml +++ b/.github/workflows/build_documentation.yml @@ -23,9 +23,13 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 with: - fetch-depth: 0 submodules: recursive + - name: Update submodules + run: | + git submodule update --init --recursive + git submodule update --recursive --remote + - name: Install pgnquant for optimize plugin run: sudo apt-get install pngquant diff --git a/.gitmodules b/.gitmodules index 04963c7..93554a6 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "flex_boards/SparkFun_GNSS_Flex_pHAT"] path = flex_boards/SparkFun_GNSS_Flex_pHAT - url = https://github.com/sparkfun/SparkFun_GNSS_Flex_pHAT.git + url = git@github.com:sparkfun/SparkFun_GNSS_Flex_pHAT.git diff --git a/docs/assets/3d_model/GNSS_Flex-Stack_Animation.glb b/docs/assets/3d_model/GNSS_Flex-Stack_Animation.glb new file mode 100644 index 0000000..584f3c9 Binary files /dev/null and b/docs/assets/3d_model/GNSS_Flex-Stack_Animation.glb differ diff --git a/docs/carriers.md b/docs/carriers.md new file mode 100644 index 0000000..b8617f9 --- /dev/null +++ b/docs/carriers.md @@ -0,0 +1,25 @@ +# All Boards + + + + + +
+ +- **SparkFun GNSS Flex pHAT** + + --- + + + + + + +
+ [Hookup Guide](./SparkFun_GNSS_Flex_pHAT/index.md){ .md-button .md-button--primary } + + ![QR code to product page](./SparkFun_GNSS_Flex_pHAT/assets/img/qr_code/product.png){ .qr } + [Purchase from SparkFun :fontawesome-solid-cart-plus:{ .heart }](https://www.sparkfun.com/sparkfun-gnss-flex-phat.html){ .md-button .md-button--primary } +
+ +
diff --git a/docs/github/file_issue.md b/docs/github/file_issue.md index 1af2fcf..ce51a9f 100644 --- a/docs/github/file_issue.md +++ b/docs/github/file_issue.md @@ -4,9 +4,9 @@ !!! warning "Need Help?" If you need technical assistance or more information on a product that is not working as you expected, we recommend heading on over to the [SparkFun Technical Assistance](https://www.sparkfun.com/technical_assistance) page for some initial troubleshooting. This **Submit Issues** page is not where users should seek assistance. -
+
[SparkFun Technical Assistance Page](https://www.sparkfun.com/technical_assistance){ .md-button .md-button--primary } -
+ If you can't find what you need there, the [SparkFun Forums](https://forum.sparkfun.com) is a great place to search the product forums and ask questions. diff --git a/docs/javascript/3d-color_adjust.js b/docs/javascript/3d-color_adjust.js new file mode 100644 index 0000000..d372b58 --- /dev/null +++ b/docs/javascript/3d-color_adjust.js @@ -0,0 +1,13 @@ +const modelViewer = document.querySelectorAll("model-viewer"); +// To debug in console +// let material = modelViewer.model.materials; + +for (const iteration of modelViewer) { + iteration.addEventListener('load', () => { + const material = iteration.model.materials; + // material[material.length-1].pbrMetallicRoughness.setBaseColorFactor([224/255, 49/255, 29/255]); //SparkFun Red: #E0311D + material[material.length-1].pbrMetallicRoughness.setBaseColorFactor([224/255, 0, 0]); // #E00000 + material[material.length-1].pbrMetallicRoughness.setMetallicFactor(.8); + material[material.length-1].pbrMetallicRoughness.setRoughnessFactor(.7); + }); +}; \ No newline at end of file diff --git a/docs/modules.md b/docs/modules.md new file mode 100644 index 0000000..7079c3b --- /dev/null +++ b/docs/modules.md @@ -0,0 +1,42 @@ +# All Modules + + + + + +
+ +- **SparkPNT GNSS Flex Module - mosaic-X5** + + --- + + + + + + +
+ [Hookup Guide](./SparkPNT_GNSS_Flex_Module_mosaic-X5/index.md){ .md-button .md-button--primary } + + ![QR code to product page](./SparkPNT_GNSS_Flex_Module_mosaic-X5/assets/img/qr_code/product.png){ .qr } + [Purchase from SparkFun :fontawesome-solid-cart-plus:{ .heart }](https://www.sparkfun.com/sparkpnt-gnss-flex-module-mosaic-x5.html){ .md-button .md-button--primary } +
+ + +- **SparkPNT GNSS Flex Module - LG290P** + + --- + + + + + + +
+ [Hookup Guide](./SparkPNT_GNSS_Flex_Module_LG290P/index.md){ .md-button .md-button--primary } + + ![QR code to product page](./SparkPNT_GNSS_Flex_Module_LG290P/assets/img/qr_code/product.png){ .qr } + [Purchase from SparkFun :fontawesome-solid-cart-plus:{ .heart }](https://www.sparkfun.com/sparkpnt-gnss-flex-module-lg290p.html){ .md-button .md-button--primary } +
+ +
diff --git a/docs/resources.md b/docs/resources.md index c18c5f7..d2e89b8 100644 --- a/docs/resources.md +++ b/docs/resources.md @@ -15,6 +15,7 @@ - :fontawesome-solid-file-pdf: [mosaic-X5 Datasheet](SparkPNT_GNSS_Flex_Module_mosaic-X5/assets/component_documentation/mosaic_hardware_manual_v1.9.0.pdf) - :fontawesome-solid-file-pdf: [mosaic-X5 Brochure](SparkPNT_GNSS_Flex_Module_mosaic-X5/assets/component_documentation/Septentrio_mosaic-X5_LR.pdf) - :fontawesome-solid-file-pdf: [Firmware Manual *(v4.14.10.1)*](SparkPNT_GNSS_Flex_Module_mosaic-X5/assets/component_documentation/firmware/mosaic-X5_firmware_v4.14.10.1_reference_guide.pdf) + - :material-youtube: [Product Showcase](https://youtu.be/r-bhOLv4zsk) - **LG290P** @@ -32,6 +33,7 @@ - :fontawesome-solid-file-pdf: [RTK Application Note](SparkPNT_GNSS_Flex_Module_LG290P/assets/component_documentation/quectel_gnss_rtk_application_note_v1-0.pdf) - :fontawesome-solid-file-pdf: [Hardware Design](SparkPNT_GNSS_Flex_Module_LG290P/assets/component_documentation/quectel_lg290p03_hardware_design_v1-1.pdf) - :fontawesome-solid-file-pdf: [Firmware Upgrade Guide](SparkPNT_GNSS_Flex_Module_LG290P/assets/component_documentation/quectel_lg290p03_firmware_upgrade_guide_v1-0.pdf) + - :material-youtube: [Product Showcase](https://youtu.be/r-bhOLv4zsk) @@ -44,13 +46,14 @@ --- - :material-folder-cog: Design Files: - - :fontawesome-solid-file-pdf: [Schematic](../flex_boards/SparkFun_GNSS_pHAT/docs/assets/board_files/schematic.pdf) - - :fontawesome-solid-file-pdf: [Board Dimensions](../flex_boards/SparkFun_GNSS_pHAT/docs/assets/board_files/dimensions.pdf) - - :material-folder-zip: [KiCad Files](../flex_boards/SparkFun_GNSS_pHAT/docs/assets/board_files/kicad_files.zip) - - :material-cube-outline: [STEP File](../flex_boards/SparkFun_GNSS_pHAT/docs/assets/3d_model/cad_model-pHAT.step) + - :fontawesome-solid-file-pdf: [Schematic](SparkFun_GNSS_Flex_pHAT/assets/board_files/schematic.pdf) + - :fontawesome-solid-file-pdf: [Board Dimensions](SparkFun_GNSS_Flex_pHAT/assets/board_files/dimensions.pdf) + - :material-folder-zip: [KiCad Files](SparkFun_GNSS_Flex_pHAT/assets/board_files/kicad_files.zip) + - :material-cube-outline: [STEP File](SparkFun_GNSS_Flex_pHAT/assets/3d_model/cad_model.step) - Design Specifications: - [Design Requirements](https://datasheets.raspberrypi.com/hat/hat-plus-specification.pdf) - [Mechanical Specifications](https://raw.githubusercontent.com/raspberrypi/hats/refs/heads/master/hat-board-mechanical.pdf) + - :material-youtube: [Product Showcase](https://youtu.be/r-bhOLv4zsk) - :material-github: [Hardware Repo](https://github.com/sparkfun/SparkFun_GNSS_Flex_pHAT) diff --git a/docs/stylesheet/extra.css b/docs/stylesheet/extra.css index 7bfdeae..347d931 100644 --- a/docs/stylesheet/extra.css +++ b/docs/stylesheet/extra.css @@ -4,42 +4,47 @@ /* Sets page to use screens full width (can also use initial; instead of 100%) */ .md-grid { - max-width: 100%; + max-width: 100%; } /* Center images in figure elements */ .md-typeset figure { - text-align: -webkit-center; + text-align: -webkit-center; } + +.rotate-90 { + transform: rotate(90deg); /* Equal to rotateZ(90deg) */ +} + + /* Allow users to set the "mkdocs-material generator" to right side of footer */ .md-social.generator-right { - display: inline-flex; - gap: .2rem; - margin: 0 .4rem; - padding: .4rem 0 0 + display: inline-flex; + gap: .2rem; + margin: 0 .4rem; + padding: .4rem 0 0 } @media screen and (min-width: 45em) { - .md-social.generator-right { - padding: .2rem 0 0 - } + .md-social.generator-right { + padding: .2rem 0 0 + } } .md-copyright.generator-right { - color: var(--md-footer-fg-color--lighter); - font-size: .64rem; - margin: auto .6rem; - padding: 0 0 .6rem; - width: 100% + color: var(--md-footer-fg-color--lighter); + font-size: .64rem; + margin: auto .6rem; + padding: 0 0 .6rem; + width: 100% } @media screen and (min-width: 45em) { - .md-copyright.generator-right { - padding: 0 0 .2rem; - width:auto - } -} + .md-copyright.generator-right { + padding: 0 0 .2rem; + width:auto + } /* SparkFun dark brand color: #3c464d */ @@ -47,12 +52,12 @@ /* Sets the maximum height size of the code blocks */ /* (code block becomes scrollable, but not compatible when lines are displayed) */ /* .md-typeset pre > code { - max-height: var(--md-codeblock-height, 800px); + max-height: var(--md-codeblock-height, 800px); } */ /* Failed workaround (lines are not scrollable)*/ /* .highlighttable .linenodiv { - max-height: var(--md-codeblock-height, 800px); + max-height: var(--md-codeblock-height, 800px); } */ @@ -62,7 +67,7 @@ /* Fixes highlighting of code blocks in other elements (i.e. content tabs, buttons, etc.) */ .md-typeset a:focus code, .md-typeset a:hover code { - background-color: var(--md-code-fg-color); + background-color: var(--md-code-fg-color); } @@ -72,42 +77,42 @@ /* Sets the background color of the labels and creates an outline */ .md-typeset .tabbed-labels > label { - background-color: var(--md-code-bg-color--light); - border-top: .1rem solid var(--md-default-fg-color--lighter); - border-left: .1rem solid var(--md-default-fg-color--lighter); - border-right: .1rem solid var(--md-default-fg-color--lighter); - margin-left: .1rem; - margin-right: .1rem; + background-color: var(--md-code-bg-color--light); + border-top: .1rem solid var(--md-default-fg-color--lighter); + border-left: .1rem solid var(--md-default-fg-color--lighter); + border-right: .1rem solid var(--md-default-fg-color--lighter); + margin-left: .1rem; + margin-right: .1rem; } /* Sets background color of active label to accent, when mouse is hovered over item */ .md-typeset .tabbed-labels > label > a:hover { - /* Bright Red - Issue with red code block text */ - /* background-color: var(--md-accent-fg-color); */ + /* Bright Red - Issue with red code block text */ + /* background-color: var(--md-accent-fg-color); */ - /* Transparent Red - Issue, not visible in dark theme */ - /* background-color: var(--md-accent-bg-color--transparent); */ + /* Transparent Red - Issue, not visible in dark theme */ + /* background-color: var(--md-accent-bg-color--transparent); */ - /* Blue - In light theme, issue with dark blue on black letters */ - /* background-color: var(--md-typeset-a-color); */ + /* Blue - In light theme, issue with dark blue on black letters */ + /* background-color: var(--md-typeset-a-color); */ - /* Grey - In light theme, issue with dark grey on black letters (better than blue) */ - /* background-color: var(--md-primary-fg-color); */ + /* Grey - In light theme, issue with dark grey on black letters (better than blue) */ + /* background-color: var(--md-primary-fg-color); */ - /* Light Blue */ - background-color: #547cc6b7; + /* Light Blue */ + background-color: #547cc6b7; } /* Sets kbd button aesthetic */ .md-typeset { - --md-typeset-kbd-color:rgb(80, 80, 80); - --md-typeset-kbd-border-color: rgb(175, 175, 175); - --md-typeset-kbd-accent-color: hsla(0, 0%, 50%, 0.4); + --md-typeset-kbd-color:rgb(80, 80, 80); + --md-typeset-kbd-border-color: rgb(175, 175, 175); + --md-typeset-kbd-accent-color: hsla(0, 0%, 50%, 0.4); } .md-typeset kbd { - color:#ffffff; + color:#ffffff; } @@ -132,10 +137,10 @@ .md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18), .md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19), .md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20) { - background-color: #0000; - border-top: .1rem solid var(--md-default-fg-color); - border-left: .1rem solid var(--md-default-fg-color); - border-right: .1rem solid var(--md-default-fg-color); + background-color: #0000; + border-top: .1rem solid var(--md-default-fg-color); + border-left: .1rem solid var(--md-default-fg-color); + border-right: .1rem solid var(--md-default-fg-color); } @@ -146,158 +151,193 @@ /* Heart Animation ================================================================== */ @keyframes heart { - 0%, 40%, 80%, 100% { - transform: scale(1); - } - 20%, 60% { - transform: scale(1.15); - } + 0%, 40%, 80%, 100% { + transform: scale(1); + } + 20%, 60% { + transform: scale(1.15); + } } .heart { - animation: heart 1000ms infinite; + animation: heart 1000ms infinite; } /* Enlarge Logos ==================================================================== */ .md-typeset .twemoji.enlarge-logo svg { - display: inline-flex; - height: 1rem; - width: 100%; + display: inline-flex; + height: 1rem; + width: 100%; } .md-typeset .twemoji.icon-max-width svg { - display: inline-flex; - max-height: 1rem; - width: 100%; + display: inline-flex; + max-height: 1rem; + width: 100%; } + /* ================================================================================== */ /* Custom Admonitions */ /* ================================================================================== */ /* SparkFun ========================================================================= */ .md-typeset :is(.tip)>:is(.admonition-title,summary):before { - background-color: #e0311d; + background-color: #e0311d; } /* GitHub =========================================================================== */ .md-typeset .admonition.github, .md-typeset details.github { - border-color: white; + border-color: #8250DF; } .md-typeset .github > .admonition-title, .md-typeset .github > summary { - background-image: linear-gradient(to bottom, #8241f9, #4e277b); - /* background-color: rgb(110, 64, 201); */ + /* background-image: linear-gradient(to bottom, #8241f9, #4e277b); */ + background-color: rgba(130, 80, 223, 0.1); } .md-typeset .github > .admonition-title::before, .md-typeset .github > summary::before { - background-color: white; - -webkit-mask-image: var(--md-admonition-icon--github); - mask-image: var(--md-admonition-icon--github); + /* background-color: #1B1F24; */ + background-color: var(--md-typeset-color); + -webkit-mask-image: var(--md-admonition-icon--github); + mask-image: var(--md-admonition-icon--github); } - /* Arduino ========================================================================== */ .md-typeset .admonition.arduino, .md-typeset details.arduino { - border-color: #005c5f; + border-color: #62AEB2; } .md-typeset .arduino > .admonition-title, .md-typeset .arduino > summary { - background-color: rgba(0, 92, 95, 0.1); + background-color: #00878F; } .md-typeset .arduino > .admonition-title::before, .md-typeset .arduino > summary::before { - background-color: #005c5f; - -webkit-mask-image: var(--md-admonition-icon--arduino); - mask-image: var(--md-admonition-icon--arduino); + background-color: white; + -webkit-mask-image: var(--md-admonition-icon--arduino); + mask-image: var(--md-admonition-icon--arduino); +} +.md-typeset .arduino > .admonition-title, +.md-typeset .arduino > summary { + /* color: #E5AD24; */ + /* color: #E47128; */ + color: white; +} + + +/* Raspberry Pi ===================================================================== */ +.md-typeset .admonition.rpi, +.md-typeset details.rpi { + border-color: #6CC04A; +} +.md-typeset .rpi > .admonition-title, +.md-typeset .rpi > summary { + /* background-color: rgba(197, 26, 74, 0.75); */ + background-color: #C51A4A; +} +.md-typeset .rpi > .admonition-title::before, +.md-typeset .rpi > summary::before { + /* background-color: var(--md-typeset-color); */ + background-color: black; + -webkit-mask-image: var(--md-admonition-icon--rpi); + mask-image: var(--md-admonition-icon--rpi); +} +.md-typeset .rpi > .admonition-title, +.md-typeset .rpi > summary { + color: white; } /* Python =========================================================================== */ .md-typeset .admonition.python, .md-typeset details.python { - border-color: #3776ab; + border-color: #646464; } .md-typeset .python > .admonition-title, .md-typeset .python > summary { - background-color: #1e415e; + background-color: #306998; + /* background-color: rgba(48, 105, 152, 0.75); */ } .md-typeset .python > .admonition-title::before, .md-typeset .python > summary::before { - background-color: #3776ab; - -webkit-mask-image: var(--md-admonition-icon--python); - mask-image: var(--md-admonition-icon--python); + background-color: #FFD43B; + -webkit-mask-image: var(--md-admonition-icon--python); + mask-image: var(--md-admonition-icon--python); +} +.md-typeset .python > .admonition-title, +.md-typeset .python > summary { + color: #FFE873; } /* Code ============================================================================= */ .md-typeset .admonition.code, .md-typeset details.code { - border-color: #9e9e9e; + border-color: #9e9e9e; } .md-typeset .code > .admonition-title, .md-typeset .code > summary { - background-color: rgba(158, 158, 158, 0.1); + background-color: rgba(158, 158, 158, 0.1); } .md-typeset .code > .admonition-title::before, .md-typeset .code > summary::before { - background-color: #9e9e9e; - -webkit-mask-image: var(--md-admonition-icon--code); - mask-image: var(--md-admonition-icon--code); + background-color: #9e9e9e; + -webkit-mask-image: var(--md-admonition-icon--code); + mask-image: var(--md-admonition-icon--code); } /* Terminal ========================================================================= */ .md-typeset .admonition.terminal, .md-typeset details.terminal { - border-color: #9e9e9e; + border-color: #9e9e9e; } .md-typeset .terminal > .admonition-title, .md-typeset .terminal > summary { - background-color: rgba(158, 158, 158, 0.1); + background-color: rgba(158, 158, 158, 0.1); } .md-typeset .terminal > .admonition-title::before, .md-typeset .terminal > summary::before { - background-color: #9e9e9e; - -webkit-mask-image: var(--md-admonition-icon--terminal); - mask-image: var(--md-admonition-icon--terminal); + background-color: #9e9e9e; + -webkit-mask-image: var(--md-admonition-icon--terminal); + mask-image: var(--md-admonition-icon--terminal); } /* Serial Monitor =================================================================== */ .md-typeset .admonition.serial, .md-typeset details.serial { - border-color: #9e9e9e; + border-color: #9e9e9e; } .md-typeset .serial > .admonition-title, .md-typeset .serial > summary { - background-color: rgba(158, 158, 158, 0.1); + background-color: rgba(158, 158, 158, 0.1); } .md-typeset .serial > .admonition-title::before, .md-typeset .serial > summary::before { - background-color: #9e9e9e; - -webkit-mask-image: var(--md-admonition-icon--serial); - mask-image: var(--md-admonition-icon--serial); + background-color: #9e9e9e; + -webkit-mask-image: var(--md-admonition-icon--serial); + mask-image: var(--md-admonition-icon--serial); } /* Hot ============================================================================== */ .md-typeset .admonition.hot, .md-typeset details.hot { - border-color: #ff1744; + border-color: #ff1744; } .md-typeset .hot > .admonition-title, .md-typeset .hot > summary { - background-color: #ff17441a; + background-color: #ff17441a; } .md-typeset .hot > .admonition-title::before, .md-typeset .hot > summary::before { - background-color: #ff1744; - -webkit-mask-image: var(--md-admonition-icon--hot); - mask-image: var(--md-admonition-icon--hot); + background-color: #ff1744; + -webkit-mask-image: var(--md-admonition-icon--hot); + mask-image: var(--md-admonition-icon--hot); } @@ -308,83 +348,77 @@ /* https://github.com/squidfunk/mkdocs-material/discussions/3535 */ .headerlink { - --permalink-size: 16px; /* for font-relative sizes, 0.6em is a good choice */ - --permalink-spacing: 4px; - - width: calc(var(--permalink-size) + var(--permalink-spacing)); - height: var(--permalink-size); - vertical-align: middle; - background-color: var(--md-default-fg-color--lighter); - background-size: var(--permalink-size); - mask-size: var(--permalink-size); - -webkit-mask-size: var(--permalink-size); - mask-repeat: no-repeat; - -webkit-mask-repeat: no-repeat; - visibility: visible; - -webkit-mask-image: var(--md-admonition-icon--link); - mask-image: var(--md-admonition-icon--link); + --permalink-size: 16px; /* for font-relative sizes, 0.6em is a good choice */ + --permalink-spacing: 4px; + + width: calc(var(--permalink-size) + var(--permalink-spacing)); + height: var(--permalink-size); + vertical-align: middle; + background-color: var(--md-default-fg-color--lighter); + background-size: var(--permalink-size); + mask-size: var(--permalink-size); + -webkit-mask-size: var(--permalink-size); + mask-repeat: no-repeat; + -webkit-mask-repeat: no-repeat; + visibility: visible; + -webkit-mask-image: var(--md-admonition-icon--link); + mask-image: var(--md-admonition-icon--link); } [id]:target .headerlink { - background-color: var(--md-typeset-a-color); + background-color: var(--md-typeset-a-color); } .headerlink:hover { - background-color: var(--md-accent-fg-color) !important; + background-color: var(--md-accent-fg-color) !important; } /* Abbreviations - Still causes issues */ /* @media screen and (min-width: 76.25em) { - h1, h2, h3, h4, h5, h6 { - display: flex; - align-items: center; - flex-direction: row; - - Fixes word spacing of an abbreviation - column-gap: 0.2em; - - Fixes vertical line spacing on an abbreviation - position: relative; - padding-bottom: 0.3em; - } + h1, h2, h3, h4, h5, h6 { + display: flex; + align-items: center; + flex-direction: row; + + Fixes word spacing of an abbreviation + column-gap: 0.2em; + + Fixes vertical line spacing on an abbreviation + position: relative; + padding-bottom: 0.3em; + } } */ /* ================================================================================== */ -/* Grid Cards */ +/* Grid Cards */ /* ================================================================================== */ -/* For Bobby - delete */ -/* .grid.cards.products{ - grid-template-columns: repeat(auto-fill, 280px); - justify-content: center; -} */ - /* Sets grid width for introduction */ .grid.cards.desc { - grid-template-columns: 35% 65%; + grid-template-columns: 35% 65%; } /* Sets images size in grid cards */ .md-typeset .grid ul figure img { - width: 100%; - max-width: 200px; + width: 100%; + max-width: 200px; } /* Add compatibility to mobile platforms - by setting minimum width for grid cards */ @media (max-width: 750px) { - .grid.cards.desc { - grid-template-columns: 100%; - } - /* .grid.cards.show { - grid-template-columns: 100%; - } */ + .grid.cards.desc { + grid-template-columns: 100%; + } + /* .grid.cards.show { + grid-template-columns: 100%; + } */ } /* ================================================================================== */ -/* YouTube Videos */ +/* YouTube Videos */ /* ================================================================================== */ /* Auto adjust embedded youtube videos size */ @@ -392,45 +426,48 @@ /* 90vw = 90% of (viewport width) */ .video-container { - position: relative; - padding-bottom: 56.25%; /* 16:9 */ - height: 0; + position: relative; + padding-bottom: 56.25%; /* 16:9 */ + height: 0; } .video-container iframe { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; -} - -.video { - position: relative; - width: 100%; -} -.video iframe { - position: relative; - top: 0; - width: 60vw; - height: 33.75vw; - border: 0; - overflow: hidden; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; } .video-500px { - position: relative; - padding-bottom: min(281.25px, 56.25%); /* 16:9 */ - height: 0; - max-width: 500px; - max-height: 281.25px; + position: relative; + padding-bottom: min(281.25px, 56.25%); /* 16:9 */ + height: 0; + max-width: 500px; + max-height: 281.25px; } .video-500px iframe { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - overflow: hidden; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + overflow: hidden; +} + +.video-300px { + position: relative; + padding-bottom: min(168.75px, 56.25%); /* 16:9 */ + height: 0; + max-width: 300px; + max-height: 168.75px; +} +.video-300px iframe { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + overflow: hidden; } /* Add compatibility for mobile devices */ @@ -441,47 +478,47 @@ /* ================================================================================== */ @media (max-width: 1219px) { - .video-container iframe { - /* width: 16vw; - height: 9vw; */ - min-width: 200px; - min-height: 112.5px; - } + .video-container iframe { + /* width: 16vw; + height: 9vw; */ + min-width: 200px; + min-height: 112.5px; + } } @media (min-width: 1220px) { - .video-container iframe { - max-width: 50vw; - max-height: 28.125vw; - } + .video-container iframe { + max-width: 50vw; + max-height: 28.125vw; + } } @media (min-width:1600px) { - .video-container iframe { - max-width: 60vw; - max-height: 33.75vw; - } + .video-container iframe { + max-width: 60vw; + max-height: 33.75vw; + } } /* Single ToC */ /* ================================================================================== */ @media (max-width: 960px) { - .video-container iframe { - /* width: 20vw; - height: 11.25vw; */ - min-width: 200px; - min-height: 112.5px; - } + .video-container iframe { + /* width: 20vw; + height: 11.25vw; */ + min-width: 200px; + min-height: 112.5px; + } } /* No ToC */ /* ================================================================================== */ -/* @media (max-width: 750px) { - .video-container iframe { - width: 60vw; - height: 33.75vw; - } -} */ +@media (max-width: 750px) { + .video-container iframe { + width: 60vw; + height: 33.75vw; + } +} /* ================================================================================== */ @@ -491,134 +528,133 @@ /* Hides elemments with or on webpage (used for the generated PDF) */ .md-typeset *.qr { - display: none; + display: none; } .md-typeset *.tinyqr { - display: none; + display: none; } @media print { - /* Shows elements with or on webpage (used for the generated PDF) */ - - .md-typeset *.qr { - display: inline-flex; - align-items: center; - } - - .md-typeset *.tinyqr { - display: inline-flex; - vertical-align: middle; - width: 40px; - } - - /* Sets table to 100% of page width */ - .md-typeset table:not([class]) { - width: 100%; - display: table; - table-layout: fixed; - } - - /* Sets images size in tables */ - .md-typeset table:not([class]) * + figure img { - max-width: 75px; - } - - /* ================================================================================== */ - /* YoutTube Videos */ - /* ================================================================================== */ - - /* iframe { - display: none !important; - } */ - - .video-container { - display: none; - } - - .video { - display: none; - } - - .video-500px { - display: none; - } - - /* ================================================================================== */ - /* Grid Cards */ - /* ================================================================================== */ - - /* Column Spacing =================================================================== */ - - /* Two Column Setting */ - .md-typeset .grid.grid.cards.col-2 { - grid-template-columns: repeat(auto-fit,minmax(16rem,1fr)); - } - - /* Three Column Setting */ - .md-typeset .grid.grid.cards.col-3 { - grid-template-columns: repeat(auto-fit,minmax(12rem,1fr)); - } - - /* Four Column Setting */ - .md-typeset .grid.grid.cards.col-4 { - grid-template-columns: repeat(auto-fit,minmax(8rem,1fr)); - } - - /* Sets maximum image size */ - .md-typeset img { - max-width: 350px; - max-height: 500px; - } - - - - /* Fixes positioning of admonition icon */ - /* .md-typeset :is(.admonition-title,summary):before { - top: 0.6rem; - left: 0.6rem; - } */ - /* Fixes appearance of admonition icon */ - /* .md-typeset :is(.admonition,details)>:last-child { - background-color: transparent; - } */ - - /* Fixes margin spacing for lists */ - /* .md-typeset ol,ul { - margin-left: 1.5rem; - } */ - - /* Adjusts page break for PDF generator */ - /* article h2,h3,h4,h5,h6,ol,ul { - page-break-before: avoid; - } - article div.admonition { - page-break-before: avoid; - } - article table,ol,ul { - page-break-inside: auto !important; - } */ - - /* Displays first tab (workaround to rendering issue) */ - /* * + .tabbed-content { - display: contents; - } - * + .tabbed-content .tabbed-block { - display: contents; - page-break-after: always; - } */ - - /* Prevents page break when tabs are embedded in an admonition*/ - /* article details.note { - display: inline-block; - overflow: hidden; */ - /* Hardcode max height to match code block size, when tabbed (need to find better alternative) */ - /* max-height: 138mm; - } */ - - /* Limits size of code blocks in admonitions (workaround to rendering issue) */ - /* .md-typeset :is(pre, code) { - display: inline-flexbox; - max-height: 120mm; - overflow: hidden; - } */ + /* Shows elements with or on webpage (used for the generated PDF) */ + + .md-typeset *.qr { + display: inline-flex; + align-items: center; + } + + .md-typeset *.tinyqr { + display: inline-flex; + vertical-align: middle; + width: 40px; + } + + /* Sets table to 100% of page width */ + .md-typeset table:not([class]) { + width: 100%; + display: table; + table-layout: fixed; + } + + /* Sets images size in tables */ + .md-typeset table:not([class]) td img { + width: 100%; + max-width: 150px; + max-height: 150px; + } + + + /* ================================================================================== */ + /* YoutTube Videos */ + /* ================================================================================== */ + + .video-container iframe { + display: none; + } + + .video-500px iframe { + display: none; + } + + .video-300px iframe { + display: none; + } + + /* ================================================================================== */ + /* Grid Cards */ + /* ================================================================================== */ + + /* Column Spacing =================================================================== */ + + /* Two Column Setting */ + /* .md-typeset .grid.grid.cards.col-2 { + grid-template-columns: repeat(auto-fit,minmax(16rem,1fr)); + } */ + + /* Three Column Setting */ + /* .md-typeset .grid.grid.cards.col-3 { + grid-template-columns: repeat(auto-fit,minmax(12rem,1fr)); + } */ + + /* Four Column Setting */ + /* .md-typeset .grid.grid.cards.col-4 { + grid-template-columns: repeat(auto-fit,minmax(8rem,1fr)); + } */ + + /* Sets maximum image size */ + .md-typeset img { + max-width: 350px; + max-height: 500px; + } + + + + /* Fixes positioning of admonition icon */ + /* .md-typeset :is(.admonition-title,summary):before { + top: 0.6rem; + left: 0.6rem; + } */ + /* Fixes appearance of admonition icon */ + /* .md-typeset :is(.admonition,details)>:last-child { + background-color: transparent; + } */ + + /* Fixes margin spacing for lists */ + /* .md-typeset ol,ul { + margin-left: 1.5rem; + } */ + + /* Adjusts page break for PDF generator */ + article h2,h3,h4,h5,h6,ol,ul { + page-break-before: avoid; + } + article div.admonition { + page-break-before: avoid; + } + article table,ol,ul { + page-break-inside: auto !important; + } + + /* Displays first tab (workaround to rendering issue) */ + /* * + .tabbed-content { + display: contents; + } + * + .tabbed-content .tabbed-block { + display: contents; + page-break-after: always; + } */ + + /* Prevents page break when tabs are embedded in an admonition*/ + /* article details.note { + display: inline-block; + overflow: hidden; */ + /* Hardcode max height to match code block size, when tabbed (need to find better alternative) */ + /* max-height: 138mm; + } */ + + /* Limits size of code blocks in admonitions (workaround to rendering issue) */ + /* .md-typeset :is(pre, code) { + display: inline-flexbox; + max-height: 120mm; + overflow: hidden; + } */ } \ No newline at end of file diff --git a/docs/system_overview.md b/docs/system_overview.md index d3faa62..64fb545 100644 --- a/docs/system_overview.md +++ b/docs/system_overview.md @@ -1,38 +1,36 @@ + + + + ## GNSS Flex System The GNSS Flex system is designed to be modular with a standardized pin layout that keeps the ecosystem pin-compatible for upgrades and allows boards to be easily swapped for repairs. The ecosystem is comprised of two boards, which mate through two 2x10-pin, 2mm pitch headers. +
-![Utilizing the GNSS Flex System](./assets/img/hookup_guide/animation-attach_module.gif){ width="500" } + +
Attaching a GNSS Flex module to a GNSS Flex *carrier* board.
-The SparkPNT GNSS Flex modules function as *plug-in* boards that feature different GNSS receivers. They are designed to mate with *carrier* boards for various purposes; such as a breakout board, Raspberry Pi pHAT, SparkPNT product line, etc. +???+ tip "Manipulate 3D Model" +
+ | Controls | Mouse | Touchscreen | + | :------------- | :----------------------: | :------------: | + | Zoom | Scroll Wheel | 2-Finger Pinch | + | Rotate | ++"Left-Click"++ & Drag | 1-Finger Drag | + | Move/Translate | ++"Right-Click"++ & Drag | 2-Finger Drag | -## Ecosystem Boards -Below are general examples of a GNSS Flex module and *carrier* board. +
- - +The SparkPNT GNSS Flex modules function as *plug-in* boards that feature different GNSS receivers. They are designed to mate with *carrier* boards for various purposes; such as a breakout board, Raspberry Pi pHAT, SparkPNT product line, etc. + - - +### Board Variants +Below, are two generic examples of a GNSS Flex *module* and *carrier* board.
@@ -41,41 +39,47 @@ Below are general examples of a GNSS Flex module and *carrier* board. --- - + +
+ [All GNSS Flex Modules](modules.md){ .md-button .md-button--primary } +
+ - **GNSS Flex *"Carrier"* Board** --- - + +
+ [All GNSS Flex *Carrier* Boards](carriers.md){ .md-button .md-button--primary } +
-???+ tip "Manipulate 3D Model" -
- | Controls | Mouse | Touchscreen | - | :------------- | :----------------------: | :------------: | - | Zoom | Scroll Wheel | 2-Finger Pinch | - | Rotate | ++"Left-Click"++ & Drag | 1-Finger Drag | - | Move/Translate | ++"Right-Click"++ & Drag | 2-Finger Drag | +### Ecosystem Boards +Below, are all the available GNSS Flex boards in our ecosystem. -
+
+--8<-- "./modules.md:9:40" +--8<-- "./carriers.md:9:23" ---- +
-Section Topics -=== +--- + + +## Section Topics This guide is divided into three sections: - The **Ecosystem Overview** section describes the overall GNSS Flex system and its primary components. diff --git a/docs/troubleshooting_tips.md b/docs/troubleshooting_tips.md index 2dafa02..ad4b278 100644 --- a/docs/troubleshooting_tips.md +++ b/docs/troubleshooting_tips.md @@ -1,9 +1,9 @@ !!! warning "Need Help?" If you need technical assistance or more information on a product that is not working as you expected, we recommend heading over to the [SparkFun Technical Assistance](https://www.sparkfun.com/technical_assistance) page for some initial troubleshooting. -
+
[SparkFun Technical Assistance Page](https://www.sparkfun.com/technical_assistance){ .md-button .md-button--primary } -
+ If you can't find what you need there, the [SparkFun Forums](https://forum.sparkfun.com/index.php) is a great place to search product forums and ask questions. @@ -13,6 +13,6 @@ -
+
![QR code to the hookup guide](./assets/img/qr_code/hookup_guide.png){ .qr } -
\ No newline at end of file + \ No newline at end of file diff --git a/flex_boards/SparkFun_GNSS_Flex_pHAT b/flex_boards/SparkFun_GNSS_Flex_pHAT new file mode 160000 index 0000000..85dda5d --- /dev/null +++ b/flex_boards/SparkFun_GNSS_Flex_pHAT @@ -0,0 +1 @@ +Subproject commit 85dda5d58ce7f2ddb07be2cd5d8be99ea7435d0b diff --git a/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/banner-repo.png b/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/banner-repo.png index 440949f..5e57082 100644 Binary files a/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/banner-repo.png and b/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/banner-repo.png differ diff --git a/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/assets/board_files/kicad_files.zip b/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/assets/board_files/kicad_files.zip index 6f13013..1cc52d9 100644 Binary files a/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/assets/board_files/kicad_files.zip and b/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/assets/board_files/kicad_files.zip differ diff --git a/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/assets/img/banner-hookup_guide.png b/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/assets/img/banner-hookup_guide.png index a42268e..a64d4cb 100644 Binary files a/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/assets/img/banner-hookup_guide.png and b/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/assets/img/banner-hookup_guide.png differ diff --git a/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/assets/img/banner-quick_start.png b/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/assets/img/banner-quick_start.png index 09a88bc..8d4598e 100644 Binary files a/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/assets/img/banner-quick_start.png and b/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/assets/img/banner-quick_start.png differ diff --git a/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/assets/img/banner.xcf b/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/assets/img/banner.xcf index 1dfb542..ac40ddd 100644 Binary files a/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/assets/img/banner.xcf and b/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/assets/img/banner.xcf differ diff --git a/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/assets/img/hookup_guide/headers-flex_module+gap.png b/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/assets/img/hookup_guide/headers-flex_module+gap.png deleted file mode 100644 index 3c80040..0000000 Binary files a/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/assets/img/hookup_guide/headers-flex_module+gap.png and /dev/null differ diff --git a/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/assets/img/hookup_guide/headers-flex_module+opt.png b/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/assets/img/hookup_guide/headers-flex_module+opt.png deleted file mode 100644 index a63b25f..0000000 Binary files a/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/assets/img/hookup_guide/headers-flex_module+opt.png and /dev/null differ diff --git a/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/assets/img/hookup_guide/headers-flex_module.png b/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/assets/img/hookup_guide/headers-flex_module.png deleted file mode 100644 index 7983c0c..0000000 Binary files a/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/assets/img/hookup_guide/headers-flex_module.png and /dev/null differ diff --git a/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/assets/img/qr_code/product.png b/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/assets/img/qr_code/product.png new file mode 100644 index 0000000..8df460a Binary files /dev/null and b/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/assets/img/qr_code/product.png differ diff --git a/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/hardware_overview.md b/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/hardware_overview.md index fe72f34..dc16fcb 100644 --- a/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/hardware_overview.md +++ b/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/hardware_overview.md @@ -1,12 +1,39 @@ +
+![Banner](./assets/img/banner-hookup_guide.png){ width="650px" } +
+ + ## Introduction -This SparkPNT GNSS Flex module features the Quectel LG290P GNSS receiver. The LG290P module is a quad-band, multi-constellation, high-precision, RTK GNSS receiver. The module can simultaneously receive signals from the `L1`, `L2`, `L5`, and `L6`/`E6` frequency bands of the GPS, GLONASS, Galileo, BDS, QZSS, and NavIC GNSS constellations. In addition, the module supports SBAS augmentation systems (WASS, EGNOS, BDSBAS, MSAS, GAGAN, and SDCM), PPP services (Feature is still under development) (BDS PPP-B2b, QZSS CLAS, MADOCA-PPP, and Galileo HAS), RTCM, and RTK corrections for precision navigation with a fast convergence time and reliable performance. -The built-in NIC anti-jamming unit provides professional-grade interference signal detection and elimination algorithms, effectively mitigating multiple narrow-band interference sources and significantly improving signal reception performance in complex electromagnetic environments. Additionally, the embedded algorithms ensure reliable positioning in complex scenarios such as urban environments and deep tree cover. +
+ +- + **SparkPNT GNSS Flex Module - LG290P**
+ **SKU:** GPS-28139 + + --- +
+ ![Product Thumbnail](https://cdn.sparkfun.com/assets/parts/2/9/7/5/2/28929-LG290P-Module-Feature.jpg) +
-!!! warning "Features Under Development" - - **I^2^C/SPI** - Currently, only the UART interface is supported by the module. - - **PPP Services** - Corrections for some of the PPP services have not been implemented. +
+ ![QR code to product page](./assets/img/qr_code/product.png){ .tinyqr } + [Purchase from SparkFun :fontawesome-solid-cart-plus:{ .heart }](https://www.sparkfun.com/sparkpnt-gnss-flex-module-lg290p.html){ .md-button .md-button--primary } +
+ + +- This SparkPNT GNSS Flex module features the Quectel LG290P GNSS receiver. The LG290P module is a quad-band, multi-constellation, high-precision, RTK GNSS receiver. The module can simultaneously receive signals from the `L1`, `L2`, `L5`, and `L6`/`E6` frequency bands of the GPS, GLONASS, Galileo, BDS, QZSS, and NavIC GNSS constellations. In addition, the module supports SBAS augmentation systems (WASS, EGNOS, BDSBAS, MSAS, GAGAN, and SDCM), PPP services (Feature is still under development) (BDS PPP-B2b, QZSS CLAS, MADOCA-PPP, and Galileo HAS), RTCM, and RTK corrections for precision navigation with a fast convergence time and reliable performance. + + The built-in NIC anti-jamming unit provides professional-grade interference signal detection and elimination algorithms, effectively mitigating multiple narrow-band interference sources and significantly improving signal reception performance in complex electromagnetic environments. Additionally, the embedded algorithms ensure reliable positioning in complex scenarios such as urban environments and deep tree cover. + + + !!! warning "Features Under Development" + - **I^2^C/SPI** - Currently, only the UART interface is supported by the module. + - **PPP Services** - Corrections for some of the PPP services have not been implemented. + + +
@@ -15,23 +42,6 @@ The built-in NIC anti-jamming unit provides professional-grade interference sign - - -
@@ -49,17 +59,17 @@ The built-in NIC anti-jamming unit provides professional-grade interference sign - === "3D Model" -
+
[Download the `*.step` File](./assets/3d_model/cad_model.step "Click download"){ .md-button .md-button--primary width="250px" } -
+ ???+ tip "Manipulate 3D Model" -
+
| Controls | Mouse | Touchscreen | | :------------- | :----------------------: | :------------: | @@ -67,16 +77,16 @@ The built-in NIC anti-jamming unit provides professional-grade interference sign | Rotate | ++"Left-Click"++ & Drag | 1-Finger Drag | | Move/Translate | ++"Right-Click"++ & Drag | 2-Finger Drag | -
+ === "Dimensions" -
+
[![Board Dimensions](./assets/board_files/dimensions.png){ width="450" }](./assets/board_files/dimensions.png "Click to enlarge")
Dimensions of the LG290P GNSS Flex module.
-
+ ???+ tip "Need more measurements?" @@ -86,20 +96,18 @@ The built-in NIC anti-jamming unit provides professional-grade interference sign !!! info ":octicons-download-16:{ .heart } KiCad - Free Download!" KiCad is free, open-source [CAD]("computer-aided design") program for electronics. Click on the button below to download their software. *(\*Users can find out more information about KiCad from their [website](https://www.kicad.org/).)* -
+
[Download :kicad-primary:{ .enlarge-logo }](https://www.kicad.org/download/ "Go to downloads page"){ .md-button .md-button--primary width="250px" } -
+ ???+ info ":straight_ruler: Measuring Tool" This video demonstrates how to utilize the dimensions tool in KiCad, to include additional measurements: -
-
+
-
![QR code to play video](./assets/img/qr_code/dimension_tool.png){ .qr } -
+
@@ -107,7 +115,7 @@ The built-in NIC anti-jamming unit provides professional-grade interference sign ## Board Layout -The GNSS Flex system is designed around two 2x10-pin, 2mm pitch headers used mate the two types of boards. A standardized pin layout, keeps the ecosystem pin-compatible for upgrades and allows board to be easily swapped for repairs. Depending on the capabilities of the GNSS receiver, these pins will breakout the UART (x4), I2C, and SD card interfaces along with any PPS or event signals of the GNSS receiver. +The GNSS Flex system is designed around two 2x10-pin, 2mm pitch headers used mate the two types of boards. A standardized pin layout, keeps the ecosystem pin-compatible for upgrades and allows board to be easily swapped for repairs. Depending on the capabilities of the GNSS receiver, these pins will breakout the USB, UART (x4), I2C, and SD card interfaces along with any PPS or event signals of the GNSS receiver. The LG290P GNSS Flex module has the following features: @@ -149,12 +157,10 @@ The centerpiece of the LG290P GNSS Flex module, is the [LG290P GNSS module](./as
-
+
![QR code to product video](./assets/img/qr_code/video-quectel_lg290p.png){ .qr width=100 } -
-
@@ -234,7 +240,7 @@ The centerpiece of the LG290P GNSS Flex module, is the [LG290P GNSS module](./as ### Power Consumption The power consumption of the LG290P GNSS module depends on the GNSS signals enabled and the positioning mode. -
+
| Mode | Power (mW) | Current (mA) | | :---------- | :--------: | :----------: | @@ -242,9 +248,7 @@ The power consumption of the LG290P GNSS module depends on the GNSS signals enab | Tracking | 300.3 | 91 | | Backup | 39.6 | 0.012 | -
- - + ### Frequency Bands The LG290P module is a multi-band, multi-constellation GNSS receiver. Below, is a chart illustrating the frequency bands utilized by all the global navigation satellite systems; along with a list of the frequency bands and GNSS systems supported by the LG290P GNSS module. @@ -351,15 +355,14 @@ The accuracy of the position reported from the LG290P GNSS module, can be improv
-
+
-| Correction Method | Horizontal | Vertical | Velocity | -| :-------------------------------------------------------------------------------------------- | :--------------------------: | :---------------------: | :-------------------------------------: | -| Standalone | 0.7m
~2.3' | 2.5m
~8.2' | 3cm/s (0.108kph)
~1.2in/s (0.067mph) | -| [RTK](https://en.wikipedia.org/wiki/Real-time_kinematic_positioning "Real-Time Kinematic") | **0.8cm** *(+1ppm)*
~0.3" | 1.5cm *(+1ppm)*
~.6" | | +| Correction Method | Horizontal | Vertical | Velocity | +| :---------------- | :--------------------------: | :---------------------: | :-------------------------------------: | +| Standalone | 0.7m
~2.3' | 2.5m
~8.2' | 3cm/s (0.108kph)
~1.2in/s (0.067mph) | +| RTK | **0.8cm** *(+1ppm)*
~0.3" | 1.5cm *(+1ppm)*
~.6" | | - -
+
@@ -409,7 +412,7 @@ The accuracy of the position reported from the LG290P GNSS module, can be improv ## GNSS Flex Headers -The GNSS Flex system is designed around two 2x10-pin, 2mm pitch headers used mate the two types of boards. A standardized pin layout, keeps the ecosystem pin-compatible for upgrades and allows boards to be easily swapped for repairs. Depending on the capabilities of the GNSS receiver, these pins will breakout the UART (x4), I2C, and SD card interfaces along with any PPS or event signals of the GNSS receiver. +The GNSS Flex system is designed around two 2x10-pin, 2mm pitch headers used mate the two types of boards. A standardized pin layout, keeps the ecosystem pin-compatible for upgrades and allows boards to be easily swapped for repairs. For the LG290P GNSS receiver, these pins will breakout the UART (x3) and I2C interfaces along with a PPS, event, and LED status indication signal from the GNSS receiver.
@@ -494,7 +497,7 @@ Below, are the features that are available from the LG290P GNSS receiver. ??? abstract "List of Standard NMEA Messages" -
+
| Message | Type Mode | Message Description | | :-----: | :-------: | :-------------------------------- | @@ -505,7 +508,7 @@ Below, are the features that are available from the LG290P GNSS receiver. | VTG | Output | Course Over Ground & Ground Speed | | GLL | Output | Geographic Position – Latitude/Longitude | -
+ === "PQTM" @@ -513,7 +516,7 @@ Below, are the features that are available from the LG290P GNSS receiver. ??? abstract "List of Proprietary Quectel Messages" -
+
| Message | Type Mode | Message Description | | :----------------- | :----------: | :----------------------------------------------- | @@ -557,7 +560,7 @@ Below, are the features that are available from the LG290P GNSS receiver. | PQTMCFGRSID | Input/Output | Sets/gets the reference station ID | | PQTMCFGRTCM | Input/Output | Sets/gets RTCM | -
+ === "RTCM" @@ -565,7 +568,7 @@ Below, are the features that are available from the LG290P GNSS receiver. ??? abstract "List of Supported RTCMv3 *(MSM)* Messages" -
+
| Message | Type Mode | Message Description | | :--: | :----------: | :----------------------------------------------- | @@ -608,7 +611,7 @@ Below, are the features that are available from the LG290P GNSS receiver. | 1136 | Input/Output | NavIC/IRNSS MSM6 | | 1137 | Input/Output | NavIC/IRNSS MSM7 | -
+ diff --git a/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/resources.md b/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/resources.md index 120bec7..5287b39 100644 --- a/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/resources.md +++ b/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/resources.md @@ -1,7 +1,7 @@ ## Product Resources - Product Pages - - :sfe: [SparkPNT GNSS Flex Module - LG290P](https://www.sparkfun.com/sparkfun-gnss-flex-module-lg290p.html) + - :sfe: [SparkPNT GNSS Flex Module - LG290P](https://www.sparkfun.com/sparkpnt-gnss-flex-module-lg290p.html) - :sfe: [SparkFun GNSS Flex pHAT - LG290P](https://www.sparkfun.com/sparkfun-gnss-flex-phat-lg290p.html) - :material-folder-cog: Design Files: - :fontawesome-solid-file-pdf: [Schematic](./assets/board_files/schematic.pdf) @@ -16,6 +16,7 @@ - :fontawesome-solid-file-pdf: [Base Station Mode Application Note](./assets/component_documentation/quectel_lg290p03_base_station_mode_application_note_v1-0.pdf) - :fontawesome-solid-file-pdf: [Hardware Design](./assets/component_documentation/quectel_lg290p03_hardware_design_v1-1.pdf) - :fontawesome-solid-file-pdf: [Firmware Upgrade Guide](./assets/component_documentation/quectel_lg290p03_firmware_upgrade_guide_v1-0.pdf) +- :material-youtube: [Product Showcase](https://youtu.be/r-bhOLv4zsk) - :material-github: [GitHub Repository](https://github.com/sparkfun/SparkFun_GNSS_Flex_System) diff --git a/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/software_overview.md b/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/software_overview.md index 4659af6..5837138 100644 --- a/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/software_overview.md +++ b/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/software_overview.md @@ -24,9 +24,9 @@ QGNSS is highly intuitive GNSS evaluation software that is easy to use, personalized, and compatible with leading Quectel technologies. The software allows users to define or apply GNSS product configurations for specific use cases. Saving, restoring, or sharing configurations between different products and users is easy. The software supports product evaluation with a choice of views to observe static and dynamic behavior of the connected a Quectel GNSS receiver. -
+
[:octicons-download-16:{ .heart } Download the QGNSS Software *(v2.0)* from Quectel](https://www.quectel.com/download/qgnss_v2-0_en/){ .md-button .md-button--primary target="blank" } -
+ !!! info "System Requirements" @@ -251,9 +251,9 @@ SparkFun LG290P Quadband RTK GNSS Arduino Library in the library manager of the !!! tip "Manually Download the Arduino Library" For users who would like to manually download and install the library, the `*.zip` file can be accessed from the [GitHub repository](https://github.com/sparkfun/SparkFun_LG290P_GNSS_Arduino_Library) or downloaded by clicking the button below. -
+
[:octicons-download-16:{ .heart } Download the Arduino Library](https://github.com/sparkfun/SparkFun_LG290P_GNSS_Arduino_Library/archive/refs/heads/main.zip){ .md-button .md-button--primary } -
+
diff --git a/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/troubleshooting_tips.md b/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/troubleshooting_tips.md index 53b14d3..fb0bc17 100644 --- a/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/troubleshooting_tips.md +++ b/flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/docs/troubleshooting_tips.md @@ -5,9 +5,9 @@ icon: sfe !!! warning "Need Help?" If you need technical assistance or more information on a product that is not working as you expected, we recommend heading over to the [SparkFun Technical Assistance](https://www.sparkfun.com/technical_assistance) page for some initial troubleshooting. -
+
[SparkFun Technical Assistance Page](https://www.sparkfun.com/technical_assistance){ .md-button .md-button--primary } -
+ If you can't find what you need there, the [SparkFun GNSS Forum](https://forum.sparkfun.com/viewforum.php?f=116) is a great place to ask questions. diff --git a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/banner-repo.png b/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/banner-repo.png index 0438639..4d02c69 100644 Binary files a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/banner-repo.png and b/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/banner-repo.png differ diff --git a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/board_files/kicad_files.zip b/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/board_files/kicad_files.zip index 52c5c77..c67c5e4 100644 Binary files a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/board_files/kicad_files.zip and b/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/board_files/kicad_files.zip differ diff --git a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/banner-hookup_guide.png b/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/banner-hookup_guide.png index 786f888..b5c1795 100644 Binary files a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/banner-hookup_guide.png and b/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/banner-hookup_guide.png differ diff --git a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/banner-quick_start.png b/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/banner-quick_start.png index 3d8687f..a6890c7 100644 Binary files a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/banner-quick_start.png and b/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/banner-quick_start.png differ diff --git a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/banner.xcf b/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/banner.xcf index 5263b6f..fafd1de 100644 Binary files a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/banner.xcf and b/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/banner.xcf differ diff --git a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/hookup_guide/ant-ufl.png b/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/hookup_guide/ant.png similarity index 97% rename from flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/hookup_guide/ant-ufl.png rename to flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/hookup_guide/ant.png index 99ead65..42f2c57 100644 Binary files a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/hookup_guide/ant-ufl.png and b/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/hookup_guide/ant.png differ diff --git a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/hookup_guide/headers-flex_module+eth.png b/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/hookup_guide/headers-flex_module+eth.png deleted file mode 100644 index 42b5f9e..0000000 Binary files a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/hookup_guide/headers-flex_module+eth.png and /dev/null differ diff --git a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/hookup_guide/headers-flex_module+gap.png b/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/hookup_guide/headers-flex_module+gap.png deleted file mode 100644 index 3c80040..0000000 Binary files a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/hookup_guide/headers-flex_module+gap.png and /dev/null differ diff --git a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/hookup_guide/headers-flex_module+opt.png b/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/hookup_guide/headers-flex_module+opt.png deleted file mode 100644 index a63b25f..0000000 Binary files a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/hookup_guide/headers-flex_module+opt.png and /dev/null differ diff --git a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/hookup_guide/headers-flex_module.png b/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/hookup_guide/headers-flex_module.png deleted file mode 100644 index 7983c0c..0000000 Binary files a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/hookup_guide/headers-flex_module.png and /dev/null differ diff --git a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/qr_code/product.png b/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/qr_code/product.png new file mode 100644 index 0000000..31b9b02 Binary files /dev/null and b/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/assets/img/qr_code/product.png differ diff --git a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/hardware_assembly.md b/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/hardware_assembly.md index d391bde..42aa60d 100644 --- a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/hardware_assembly.md +++ b/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/hardware_assembly.md @@ -17,12 +17,10 @@
-
+
![QR code to product video](./assets/img/qr_code/video-getting_started-mosaic-x5.png){ .qr width=100 } -
-
diff --git a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/hardware_overview.md b/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/hardware_overview.md index 7272af1..eb638d2 100644 --- a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/hardware_overview.md +++ b/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/hardware_overview.md @@ -1,3 +1,8 @@ +
+![Banner](./assets/img/banner-hookup_guide.png){ width="650px" } +
+ + !!! danger !!! warning "ESD Sensitivity" The mosaic-X5 module is sensitive to [ESD](https://en.wikipedia.org/wiki/Electrostatic_discharge "Electrostatic Discharge"). Use a proper grounding system to make sure that the working surface and the components are at the same electric potential. @@ -6,10 +11,10 @@ ??? info "ESD Precaution" As recommended by the manufacturer, we highly recommend that users take the necessary precautions to avoid damaging their module. For example, users can utilize the [iFixit Anti-Static Wrist Strap](https://www.sparkfun.com/ifixit-anti-static-wrist-strap.html). -
+
![QR code to product video](./assets/img/qr_code/video-getting_started-mosaic-x5.png){ .qr width=100 } -
+ !!! warning "Active Antenna" @@ -18,11 +23,32 @@ ## Introduction -This SparkPNT GNSS Flex module features the [Septentrio mosaic-X5](https://www.septentrio.com/en/products/gnss-receivers/gnss-receiver-modules/mosaic-x5), a compact, ultra-low power, multi-band, multi-constellation, high-precision GNSS receiver. The receiver supports the GPS (USA), GLONASS (Russia), Beidou (China), Galileo (Europe), and NavIC (India) constellations, including regional systems *(i.e. SBAS and QZSS)*. With its [**Real Time Kinematics**](https://learn.sparkfun.com/tutorials/813) (RTK) capabilities, the module can achieve a horizontal accuracy of 6mm (~0.25in), vertical accuracy of 1cm (~0.4in) using RTK, and timing precision of 5ns (5 billionths of a second). It also features Septentrio's unique [AIM+ technology](https://www.septentrio.com/en/learn-more/advanced-positioning-technology/aim-jamming-protection) for interference mitigation and anti-spoofing, ensuring best-in-class reliability and scalable position accuracy. -The mosaic-X5 is a sophisticated module with an internal web server that can be utilized with any web browser. On the GNSS Flex module, the web server is accessed through either the USB data pins from the standard GNSS Flex headers; or the Ethernet PHY of the mosaic-X5, which is broken out on an third 2x10 pin, 2mm pitch female header. To guide users through the configuration options, Septentrio provides dozens of [video tutorials](https://www.youtube.com/@SeptentrioGNSS/videos) about the web interface. +
+ +- + **SparkPNT GNSS Flex Module - LG290P**
+ **SKU:** GPS-28138 + + --- + +
+ ![Product Thumbnail](https://cdn.sparkfun.com/assets/parts/2/9/7/5/0/28138-GNSS-Flex-Module-Mosaic-X5-Feature-fixed.jpg) +
+ +
+ ![QR code to product page](./assets/img/qr_code/product.png){ .tinyqr } + [Purchase from SparkFun :fontawesome-solid-cart-plus:{ .heart }](https://www.sparkfun.com/sparkpnt-gnss-flex-module-mosaic-x5.html){ .md-button .md-button--primary } +
+ + +- This SparkPNT GNSS Flex module features the [Septentrio mosaic-X5](https://www.septentrio.com/en/products/gnss-receivers/gnss-receiver-modules/mosaic-x5), a compact, ultra-low power, multi-band, multi-constellation, high-precision GNSS receiver. The receiver supports the GPS (USA), GLONASS (Russia), Beidou (China), Galileo (Europe), and NavIC (India) constellations, including regional systems *(i.e. SBAS and QZSS)*. With its [**Real Time Kinematics**](https://learn.sparkfun.com/tutorials/813) (RTK) capabilities, the module can achieve a horizontal accuracy of 6mm (~0.25in), vertical accuracy of 1cm (~0.4in) using RTK, and timing precision of 5ns (5 billionths of a second). It also features Septentrio's unique [AIM+ technology](https://www.septentrio.com/en/learn-more/advanced-positioning-technology/aim-jamming-protection) for interference mitigation and anti-spoofing, ensuring best-in-class reliability and scalable position accuracy. -For the users who prefer a command-line interface, Septentrio has you covered. Users can still control and configure the mosaic-X5 module through a CLI, which is useful for scenarios such as production line testing *(in fact, that is how we test this board)* or remote access. + The mosaic-X5 is a sophisticated module with an internal web server that can be utilized with any web browser. On the GNSS Flex module, the web server is accessed through either the USB data pins from the standard GNSS Flex headers; or the Ethernet PHY of the mosaic-X5, which is broken out on an third 2x10 pin, 2mm pitch female header. To guide users through the configuration options, Septentrio provides dozens of [video tutorials](https://www.youtube.com/@SeptentrioGNSS/videos) about the web interface. + + For the users who prefer a command-line interface, Septentrio has you covered. Users can still control and configure the mosaic-X5 module through a CLI, which is useful for scenarios such as production line testing *(in fact, that is how we test this board)* or remote access. + +
??? question "mosaic-X5 Product Comparison" @@ -209,23 +235,6 @@ For the users who prefer a command-line interface, Septentrio has you covered. U - - -
@@ -242,17 +251,17 @@ For the users who prefer a command-line interface, Septentrio has you covered. U - === "3D Model" -
+
[Download the `*.step` File](./assets/3d_model/cad_model.step "Click download"){ .md-button .md-button--primary width="250px" } -
+ ???+ tip "Manipulate 3D Model" -
+
| Controls | Mouse | Touchscreen | | :------------- | :----------------------: | :------------: | @@ -260,16 +269,16 @@ For the users who prefer a command-line interface, Septentrio has you covered. U | Rotate | ++"Left-Click"++ & Drag | 1-Finger Drag | | Move/Translate | ++"Right-Click"++ & Drag | 2-Finger Drag | -
+ === "Dimensions" -
+
[![Board Dimensions](./assets/board_files/dimensions.png){ width="450" }](./assets/board_files/dimensions.png "Click to enlarge")
Dimensions of the mosaic-X5 GNSS Flex module.
-
+ ???+ tip "Need more measurements?" @@ -279,27 +288,25 @@ For the users who prefer a command-line interface, Septentrio has you covered. U !!! info ":octicons-download-16:{ .heart } KiCad - Free Download!" KiCad is free, open-source [CAD]("computer-aided design") program for electronics. Click on the button below to download their software. *(\*Users can find out more information about KiCad from their [website](https://www.kicad.org/).)* -
+
[Download :kicad-primary:{ .enlarge-logo }](https://www.kicad.org/download/ "Go to downloads page"){ .md-button .md-button--primary width="250px" } -
+ ???+ info ":straight_ruler: Measuring Tool" This video demonstrates how to utilize the dimensions tool in KiCad, to include additional measurements: -
-
+
-
![QR code to play video](./assets/img/qr_code/dimension_tool.png){ .qr } -
+
## Board Layout -The GNSS Flex system is designed around two 2x10-pin, 2mm pitch headers used to mate the two types of boards. A standardized pin layout, keeps the ecosystem pin-compatible for upgrades and allows boards to be easily swapped for repairs. Depending on the capabilities of the GNSS receiver, these pins will breakout the UART (x4), I2C, and SD card interfaces along with any PPS or event signals of the GNSS receiver. +The GNSS Flex system is designed around two 2x10-pin, 2mm pitch headers used to mate the two types of boards. A standardized pin layout, keeps the ecosystem pin-compatible for upgrades and allows boards to be easily swapped for repairs. Depending on the capabilities of the GNSS receiver, these pins will breakout the USB, UART (x4), I2C, and SD card interfaces along with any PPS or event signals of the GNSS receiver. The mosaic-X5 GNSS Flex module has the following features: @@ -341,11 +348,10 @@ The centerpiece of the mosaic-X5 GNSS Flex module, is the [mosaic-X5 module](./a
-
-
+
+![QR code to product video](./assets/img/qr_code/video-septentrio_mosaic-x5.png){ .qr width=100 }
-
@@ -394,7 +400,7 @@ The centerpiece of the mosaic-X5 GNSS Flex module, is the [mosaic-X5 module](./a - Timing Precision: 5ns - Position Accuracy -
+
| Correction | Horizontal | Vertical | | :--------- | :------------------------------------: | :--------------------------: | @@ -403,7 +409,7 @@ The centerpiece of the mosaic-X5 GNSS Flex module, is the [mosaic-X5 module](./a | SBAS | 60cm
~2' | 80cm
~2.6' | | Standalone | 1.2m
~4' | 1.9m
~6.2' | -
+ @@ -456,7 +462,7 @@ The mosaic-X5 module operates in three different power states. #### Power Consumption The power consumption of the mosaic-X5 module depends on the GNSS signals enabled and the positioning mode. The table below, lists the average power consumption for common configurations. The current listed, is based on a supply voltage of 3.3V. -
+
| GNSS Signals | Positioning Mode | Power (mW) | Current (mA) | | :----------- | :--------------- | :--------: | :----------: | @@ -471,7 +477,8 @@ The power consumption of the mosaic-X5 module depends on the GNSS signals enable | All signals from all GNSS constellations +L-band | Static (100Hz) | 1080 | 327 | *Source: [mosaic-X5 Hardware Manual](./assets/component_documentation/mosaic_hardware_manual_v1.9.0.pdf)* -
+ + @@ -532,7 +539,7 @@ The accuracy of the position reported from the mosaic-X5 module, can be improved
-
+
| Correction | Horizontal | Vertical | | :-------------------------------------------------------------------------------------------- | :------------------------------------: | :--------------------------: | @@ -541,7 +548,7 @@ The accuracy of the position reported from the mosaic-X5 module, can be improved | [SBAS](https://en.wikipedia.org/wiki/GNSS_augmentation "Satellite-Based Augmentation System") | 60cm
~2' | 80cm
~2.6' | | Standalone | 1.2m
~4' | 1.9m
~6.2' | -
+
@@ -591,7 +598,7 @@ The accuracy of the position reported from the mosaic-X5 module, can be improved ## GNSS Flex Headers -The GNSS Flex system is designed around two 2x10-pin, 2mm pitch headers used mate the two types of boards. A standardized pin layout, keeps the ecosystem pin-compatible for upgrades and allows boards to be easily swapped for repairs. Depending on the capabilities of the GNSS receiver, these pins will breakout the UART (x4), I2C, and SD card interfaces along with any PPS or event signals of the GNSS receiver. +The GNSS Flex system is designed around two 2x10-pin, 2mm pitch headers used mate the two types of boards. A standardized pin layout, keeps the ecosystem pin-compatible for upgrades and allows boards to be easily swapped for repairs. For the mosaic-X5 GNSS receiver, these pins will breakout the USB, UART (x4), and SD card interfaces along with a configurable PPS signal, two event signals, and two LED status indication signals from the GNSS receiver.
@@ -798,7 +805,7 @@ There are some key parameters related to an antenna that can make or break the s
-[![GPS antenna input](./assets/img/hookup_guide/ant-ufl.png){ width="400" }](./assets/img/hookup_guide/ant-ufl.png "Click to enlarge") +[![GPS antenna input](./assets/img/hookup_guide/ant.png){ width="400" }](./assets/img/hookup_guide/ant.png "Click to enlarge")
The U.FL connector to attach an external GNSS antenna to the mosaic-X5 GNSS Flex module.
diff --git a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/resources.md b/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/resources.md index 49d4652..3b05cfa 100644 --- a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/resources.md +++ b/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/resources.md @@ -1,7 +1,7 @@ ## Product Resources - Product Pages - - :sfe: [SparkPNT GNSS Flex Module - mosaic-X5](https://www.sparkfun.com/sparkfun-gnss-flex-module-mosaic-x5.html) + - :sfe: [SparkPNT GNSS Flex Module - mosaic-X5](https://www.sparkfun.com/sparkpnt-gnss-flex-module-mosaic-x5.html) - :sfe: [SparkFun GNSS Flex pHAT - mosaic-X5](https://www.sparkfun.com/sparkfun-gnss-flex-phat-mosaic-x5.html) - :material-folder-cog: Design Files: - :fontawesome-solid-file-pdf: [Schematic](./assets/board_files/schematic.pdf) @@ -12,6 +12,7 @@ - :fontawesome-solid-file-pdf: [mosaic-X5 Datasheet](./assets/component_documentation/mosaic_hardware_manual_v1.9.0.pdf) - :fontawesome-solid-file-pdf: [mosaic-X5 Brochure](./assets/component_documentation/Septentrio_mosaic-X5_LR.pdf) - :fontawesome-solid-file-pdf: [Firmware Manual *(v4.14.10.1)*](./assets/component_documentation/firmware/mosaic-X5_firmware_v4.14.10.1_reference_guide.pdf) +- :material-youtube: [Product Showcase](https://youtu.be/r-bhOLv4zsk) - :material-github: [GitHub Repository](https://github.com/sparkfun/SparkFun_GNSS_Flex_System) diff --git a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/software_overview.md b/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/software_overview.md index ce84a84..c5fe711 100644 --- a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/software_overview.md +++ b/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/software_overview.md @@ -16,9 +16,9 @@ Users should install the [RXTools software suite](https://www.septentrio.com/en/ [^1]: On Linux, the standard Linux CDC-ACM driver is suitable. -
+
[:octicons-download-16:{ .heart } Download the RxTools Software from Septentrio](https://www.septentrio.com/en/products/gps-gnss-receiver-software/rxtools){ .md-button .md-button--primary target="blank" } -
+ ??? info "System Requirements[^2]" @@ -190,9 +190,9 @@ Users should install the [RXTools software suite](https://www.septentrio.com/en/ For the latest USB driver from Septentrio, please install their driver through the RxTools software suite.
*This is driver version, was archived at the time that this guide was written. Please do not request for the file to be updated.* -
+
[:octicons-download-16:{ .heart } Download USB Driver *(v3.0.2)*](./assets/component_documentation/driver/USB_driver_3_0_2_Installer.exe){ .md-button .md-button--primary target="blank" } -
+ === "Linux" @@ -218,12 +218,10 @@ With the USB driver installed, the mosaic-X5 module supports Ethernet-over-USB.
-
+
![QR code to product video](./assets/img/qr_code/video-getting_started-mosaic-x5.png){ .qr width=100 } -
-
diff --git a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/troubleshooting_tips.md b/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/troubleshooting_tips.md index a3c376c..986814e 100644 --- a/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/troubleshooting_tips.md +++ b/flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/docs/troubleshooting_tips.md @@ -5,9 +5,9 @@ icon: sfe !!! warning "Need Help?" If you need technical assistance or more information on a product that is not working as you expected, we recommend heading over to the [SparkFun Technical Assistance](https://www.sparkfun.com/technical_assistance) page for some initial troubleshooting. -
+
[SparkFun Technical Assistance Page](https://www.sparkfun.com/technical_assistance){ .md-button .md-button--primary } -
+ If you can't find what you need there, the [SparkFun GNSS Forum](https://forum.sparkfun.com/viewforum.php?f=116) is a great place to ask questions. @@ -22,12 +22,10 @@ The mosaic-X5 module is sensitive to [ESD](https://en.wikipedia.org/wiki/Electro As recommended by the manufacturer, we highly recommend that users take the necessary precautions to avoid damaging their module. -
+
![QR code to product video](./assets/img/qr_code/video-getting_started-mosaic-x5.png){ .qr width=100 } -
-
-
+ diff --git a/mkdocs.yml b/mkdocs.yml index 12b44c7..1cf2aa9 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,7 +1,7 @@ # Documentation page information site_name: SparkFun GNSS Flex System Hookup Guide site_description: A hookup guide for all the components of the SparkFun GNSS Flex ecosystem. -site_url: https://sparkfun.github.io/SparkFun_GNSS_Flex_System +site_url: https://docs.sparkfun.com/SparkFun_GNSS_Flex_System site_author: SparkFun Electronics repo_url: https://github.com/sparkfun/SparkFun_GNSS_Flex_System @@ -61,9 +61,6 @@ theme: # Keeps tabs visible in the header when scrolling - navigation.tabs.sticky - # Expands all the collapsible subsections in the navigation (left) sidebar - - navigation.expand - # Adds pop-up button just below the header (when the user starts to scroll up) # i.e. Allows users to easily jump to the beginning of the page - navigation.top @@ -71,9 +68,6 @@ theme: # Renders path for page navigation at the top of the page (makes page navigation more mobile friendly) - navigation.path - # Enables instant previews globally, for all internal links - - navigation.instant.preview - # Highlights all occurrences of a search result when clicked on - search.highlight @@ -261,6 +255,16 @@ markdown_extensions: # - glossary-sparkfun.md # - glossary-local.md + # Enables page previews + - material.extensions.preview: + configurations: + - targets: + exclude: + - modules.md + - carriers.md + - resources.md + - troubleshooting_tips.md + # Allows embedding of code blocks in other elements - pymdownx.superfences: # Allows the use of diagrams @@ -390,6 +394,9 @@ extra_css: # Enables support for rendering block and inline block equations through MathJax and KaTeX extra_javascript: + # Enables script to adjust PCB color of 3D models + - javascript/3d-color_adjust.js + # Enables support for MathJax - javascript/mathjax.js # - https://polyfill.io/v3/polyfill.min.js?features=es6 @@ -423,9 +430,11 @@ nav: - Hardware Assembly: hardware_assembly.md - Software Overview: software_overview.md - GNSS Flex Modules: + - modules.md - mosaic-X5: '!include ./flex_boards/SparkPNT_GNSS_Flex_Module_mosaic-X5/mkdocs.yml' - LG290P: '!include ./flex_boards/SparkPNT_GNSS_Flex_Module_LG290P/mkdocs.yml' - Carrier Boards: + - carriers.md - pHAT: '!include ./flex_boards/SparkFun_GNSS_Flex_pHAT/mkdocs.yml' - Resources & Support: - Resources: resources.md