Skip to content

Commit 40a8060

Browse files
committed
Merge branch 'main' into release_candidate
2 parents e2b30a3 + c3bede8 commit 40a8060

19 files changed

+216
-141
lines changed
Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,53 @@
1-
name: Run mkdocs
1+
name: Build Documentation
2+
3+
# Allows you to run this workflow manually from the Actions tab
4+
# on:
5+
# workflow_dispatch:
6+
# branches: ["main"]
7+
8+
# Allows this workflow to run automatically on pushes/commits
29
on:
310
push:
4-
branches:
5-
- main
11+
branches: ["main"]
612

13+
14+
# Sets permissions of the GITHUB_TOKEN to allow files to be committed to gh-pages branch
715
permissions:
816
contents: write
17+
18+
919
jobs:
1020
deploy:
1121
runs-on: ubuntu-latest
22+
1223
steps:
1324
- name: Checkout repository
1425
uses: actions/checkout@v4
26+
with:
27+
fetch-depth: 0
1528

16-
- name: Instal pgnquant for optimize plugin
29+
- name: Install pgnquant for optimize plugin
1730
run: sudo apt-get install pngquant
1831

1932
- name: Set up Python runtime
20-
uses: actions/setup-python@v4
33+
uses: actions/setup-python@v5
2134
with:
2235
python-version: 3.x
2336

2437
- name: Install Python dependencies
2538
run: pip install mkdocs-monorepo-plugin mkdocs-redirects mkdocs-git-authors-plugin mkdocs-git-revision-date-localized-plugin mkdocs-git-committers-plugin-2 Pillow 'mkdocs-material[imaging]'
2639

2740
- name: Set up build cache
28-
uses: actions/cache@v2
41+
run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
42+
- uses: actions/cache@v4
2943
with:
30-
key: ${{ github.ref }}
44+
key: mkdocs-material-${{ env.cache_id }}
3145
path: .cache
46+
restore-keys: |
47+
mkdocs-material-
3248
3349
- name: Install Insiders build
3450
env:
35-
MKDOCS_TOKEN: ${{ secrets.MKDOCS_SECRET }}
51+
MKDOCS_TOKEN: ${{ secrets.MKDOCS_SECRET }}
3652
run: pip install git+https://${MKDOCS_TOKEN}@github.com/squidfunk/mkdocs-material-insiders.git
3753
- run: mkdocs gh-deploy --force
214 KB
Binary file not shown.
Binary file not shown.
1010 KB
Binary file not shown.
Binary file not shown.
36.1 KB
Loading

docs/assets/img/thumbnail.jpg

78.9 KB
Loading

docs/atomichron.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Fugro AtomiChron^®^ is a global, real-time, precise clock synchronisation and a
2323

2424
AtomiChron^®^ subscriptions are managed by Fugro. We ask that you complete the [SparkPNT GNSSDO Fugro AtomiChron^®^ Service Registration Form](https://www.sparkfun.com/gnssdo_registration) and the team at Fugro will be in touch. To subscribe, Fugro will need to know the serial number of the mosaic-T inside your GNSSDO. You can find the mosaic-T serial number in several ways:
2525

26-
* You can view it on the Fugro AtomiChron tab of mosaic-X5's internal web page. The web page can be viewed over Ethernet or Ethernet-over-USB. Please see the [Quick Start Guide](./quick_start.md) for more details.
26+
* You can view it on the Fugro AtomiChron tab of mosaic-T's internal web page. The web page can be viewed over Ethernet or Ethernet-over-USB. Please see the [Quick Start Guide](./quick_start.md) for more details.
2727
* The serial number is also displayed when you open the [Software Settings menu](./software_overview.md#software-settings) in a terminal emulator or serial console.
2828

2929
<div class="grid" markdown>

docs/hardware_overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1004,4 +1004,4 @@ The jumpers on the bottom of the GNSSDO PCB.
10041004
- The **VCCIO** jumper can be soldered closed to connect the **CTS** screw terminal to VCCIO. **CTS** can then be used as a power output. The voltage is set by the VCCIO slide switch.
10051005
- **MEAS**
10061006
- Open the **MEAS** jumper if you wish to measure the total current drawn by the GNSSDO, or (e.g.) wish to add an ON/OFF switch. The breakout pads can then be used to attach a multimeter or a mechanical power switch.
1007-
- **MEAS** is _upstream_ of the two 3.3V regulators and _downstream_ of the four power source combination and protection diodes.
1007+
- **MEAS** is *upstream* of the two 3.3V regulators and *downstream* of the four power source combination and protection diodes.

docs/oscillator.md

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ icon: material/tools
99
<figcaption markdown>SiT5358 TCXO Oscillator.</figcaption>
1010
</figure>
1111

12-
For the best frequency accuracy, stability and holdover, the GNSSDO utilizes a SiTime SiT5358 Digitally-Controlled Temperature-Controlled Crystal Oscillator (DCTCXO).
12+
For the best frequency accuracy, stability and holdover, the SparkPNT GNSSDO utilizes a SiTime SiT5358 Digitally-Controlled Temperature-Controlled Crystal Oscillator (DCTCXO).
1313
The SiT5358 is a precision MEMS Super-TCXO optimized for ±50 ppb stability from -40°C to 105°C. Engineered for best dynamic performance, it is ideal for high reliability telecom, wireless and networking, industrial, precision GNSS and audio/video applications.
1414

1515
- SiT5358AI-FS033IT-10.000000 10MHz DCTCXO
@@ -26,36 +26,39 @@ The SiT5358 is interfaced to the mosaic-T through a level-shifting buffer, repla
2626

2727
The SiT5358 is interfaced to the mosaic-T according to Appendix D of the mosaic Hardware Manual: "mosaic-Based Disciplined Clock".
2828

29-
The ESP32 is interfaced to three of the mosaic-T's COM (UART) ports: COM1, COM3 and COM4. The ESP32 configures the mosaic-T via COM4. COM1 is dedicated as an output port for the SBF blocks used to tune the oscillator frequency. COM3 is used to divert the ESP32 serial console to TCP.
29+
The ESP32 is interfaced to three of the mosaic-T's COM (UART) ports: `COM1`, `COM3`, and `COM4`. The ESP32 configures the mosaic-T via `COM4`. `COM1` is dedicated as an output port for the SBF blocks used to tune the oscillator frequency. `COM3` is used to divert the ESP32 serial console to TCP.
3030

3131
When the firmware boots, the mosaic-T is configured as follows:
3232

33-
- **setPPSParameters, off**
34-
- **setClockSyncThreshold, usec500, on**
35-
- **setSBFGroups, Group1, PVTGeodetic+ReceiverTime**
36-
- **setSBFOutput, Stream1, COM1, Group1, sec1**
37-
- **setSBFOutput, Stream2, COM1, IPStatus+FugroTimeOffset, OnChange**
38-
- **exeCopyConfigFile, Current, Boot**
33+
```
34+
setPPSParameters, off
35+
setClockSyncThreshold, usec500, on
36+
setSBFGroups, Group1, PVTGeodetic+ReceiverTime
37+
setSBFOutput, Stream1, COM1, Group1, sec1
38+
setSBFOutput, Stream2, COM1, IPStatus+FugroTimeOffset, OnChange
39+
exeCopyConfigFile, Current, Boot
40+
```
3941

4042
These commands configure the mosaic so that it: starts-up with the PPS pulses disabled; performs an initial precise synchronization to GNSS time; and outputs the **PVTGeodetic** and **ReceiverTime** blocks on COM1 at 1Hz. **IPStatus** is output each time one or more IP parameters change. With a Fugro Atomichron subscription, the **FugroTimeOffset** message will be generated each time one of the clock biases changes.
4143

42-
The firmware monitors the message blocks on COM1. The **ERROR** LED follows the **PVTGeodetic Error** code. The LED is extinguished when **Error** is zero.
44+
The firmware monitors the message blocks on `COM1`. The `ERROR` LED follows the **PVTGeodetic Error** code. The LED is extinguished when **Error** is zero.
4345

4446
The firmware waits until the **ReceiverTime SyncLevel FINETIME** bit is set, indicating that the receiver time initialization is complete. Once the **FINETIME** bit is set, it remains set until the next reset of the receiver.
4547

4648
The firmware then monitors the **PVTGeodetic RxClkBias** (as 64-bit float in milliseconds). When **RxClkBias** is positive, receiver time is ahead of system time and the oscillator frequency should be reduced. When **RxClkBias** is negative, receiver time is behind system time and the oscillator frequency should be increased. The firmware will adjust the SiT5358 oscillator frequency via the 26-bit Digital Frequency Control register accordingly. As per Appendix D, the frequency will be changed by no more than 3ppb per second.
4749

4850
The Proportional (P) and Integral (I) terms can be adjusted via the [ESP32 firmware settings](./software_overview.md#configure-operation).
4951

50-
The **LOCK** LED will illuminate and PPS pulses will be generated when RxClkBias is less than 10ns. The OLED will show **PPS On** when pulses are being generated.
52+
The `LOCK` LED will illuminate and PPS pulses will be generated when RxClkBias is less than 10ns. The OLED will show `PPS On` when pulses are being generated.
5153

5254
The 10ns lock threshold / limit can be changed by the user through the ESP32 USB-C interface and saved in non-volatile memory.
5355

5456
The Pulse-Per-Second parameters can also be configured by the user through the [ESP32 firmware settings](./software_overview.md#configure-operation): interval, polarity, delay, time scale, max sync age, pulse width.
5557

56-
- **setPPSParameters, Interval, Polarity, Delay, TimeScale, MaxSyncAge, PulseWidth**
58+
```
59+
setPPSParameters, Interval, Polarity, Delay, TimeScale, MaxSyncAge, PulseWidth
60+
```
5761

5862
Should **PVTGeodetic Error** indicate an error (i.e. become non-zero), the loop will continue but no changes will be made to the oscillator frequency until the error is cleared.
5963

60-
Occasionally, the initial mosaic-T clock bias can be excessive - microseconds rather than nanoseconds. The firmware detects this and will restart the GNSS to achieve a better lock. You will see **Bad RxClkBias --- Restarting** appear on the OLED when this happens. The threshold for this can be adjusted via the ESP32 firmware settings.
61-
64+
Occasionally, the initial mosaic-T clock bias can be excessive - microseconds rather than nanoseconds. The firmware detects this and will restart the GNSS to achieve a better lock. You will see `Bad RxClkBias --- Restarting` appear on the OLED when this happens. The threshold for this can be adjusted via the ESP32 firmware settings.

0 commit comments

Comments
 (0)