final commit for the day

This commit is contained in:
Chris Frankland-Wright 2025-06-23 17:25:23 +01:00
parent 7ec7f6844d
commit 9fe70f4688
2 changed files with 29 additions and 48 deletions

View file

@ -1,31 +1,37 @@
# 🕰️ NTP Timeturner # 🕰️ NTP Timeturner
**NTP Timeturner** is a Raspberry Pi-based stratum 1 time server that sets its system clock based on incoming SMPTE LTC (Linear Timecode) audio. Designed for broadcast and production environments, it allows LTC-based time sync across local networks via NTP. **An LTC-driven NTP server for Raspberry Pi, built with broadcast precision and a hint of magic.**
Inspired by Hermione Grangers TimeTurner, this project synchronises timecode-locked systems by decoding incoming LTC (Linear Time Code) and broadcasting it as NTP — with precision down to the millisecond.
--- ---
## 📦 Features ## 📦 Hardware Requirements
- 🕒 Decodes LTC timecode from audio input (25fps supported) - Raspberry Pi 3 (or better)
- 🌐 Serves NTP time to local devices - Debian Bookworm (64-bit recommended)
- ⚡ Fast, reliable startup using a USB audio interface - USB audio input (e.g. USB to 3.5mm TRS adapter)
- 🔌 Optional OLED display for system time and sync status (coming soon) - Ethernet connection (recommended for stable NTP)
- 🛜 Web interface for Wi-Fi config and status (in development) - Optional: Blackmagic Video Assist or LTC generator for input testing
--- ---
## 🚀 Quick Start ## 🛠️ Software Features
### ✅ Requirements - Reads SMPTE LTC from audio input (25p/50i to start, with more frame rate support to follow)
- Converts LTC into NTP-synced time
- Broadcasts time via local NTP server
- Supports configurable time offsets (hours, minutes, seconds, milliseconds)
- Systemd service support for headless operation
- Optional splash screen branding at boot
- Raspberry Pi 3 or newer ---
- Debian Bookworm
- USB audio interface with 3.5mm mic/line input
- SMPTE LTC source (e.g. video playout, Blackmagic device)
### ⚙️ Setup Instructions ## 🚀 Installation
1. Clone the repo: Clone and run the installer:
```bash
git clone https://github.com/cjfranko/NTP-Timeturner.git ```bash
cd NTP-Timeturner wget https://raw.githubusercontent.com/cjfranko/NTP-Timeturner/master/setup.sh
chmod +x setup.sh
./setup.sh

View file

@ -89,40 +89,14 @@ sudo make install
sudo ldconfig sudo ldconfig
# --------------------------------------------------------- # ---------------------------------------------------------
# Step 7: Apply Custom Splash Screen and Wayland Wallpaper # Step 7: Apply Custom Splash Screen
# --------------------------------------------------------- # ---------------------------------------------------------
echo "" echo ""
echo "Step 7: Applying Timeturner visual identity..." echo "Step 7: Applying splash screen..."
# Splash screen
echo "Downloading splash screen..."
sudo curl -L -o /usr/share/plymouth/themes/pix/splash.png https://raw.githubusercontent.com/cjfranko/NTP-Timeturner/master/splash.png sudo curl -L -o /usr/share/plymouth/themes/pix/splash.png https://raw.githubusercontent.com/cjfranko/NTP-Timeturner/master/splash.png
sudo chmod 644 /usr/share/plymouth/themes/pix/splash.png sudo chmod 644 /usr/share/plymouth/themes/pix/splash.png
# Wallpaper for LabWC / swaybg
echo "Installing swaybg for Wayland wallpaper management..."
sudo apt install -y swaybg
echo "Downloading wallpaper..."
mkdir -p /home/hermione/Pictures
curl -L -o /home/hermione/Pictures/wallpaper.png https://raw.githubusercontent.com/cjfranko/NTP-Timeturner/master/wallpaper.png
chown hermione:hermione /home/hermione/Pictures/wallpaper.png
# Update labwc init file
INIT_FILE="/home/hermione/.config/labwc/init"
mkdir -p "$(dirname "$INIT_FILE")"
if ! grep -q "swaybg" "$INIT_FILE" 2>/dev/null; then
echo "Adding swaybg launch command to LabWC init file..."
echo "exec swaybg -i /home/hermione/Pictures/wallpaper.png --mode fill" >> "$INIT_FILE"
else
echo "LabWC wallpaper command already present — skipping"
fi
chown hermione:hermione "$INIT_FILE"
echo "Custom splash and Wayland wallpaper applied."
# --------------------------------------------------------- # ---------------------------------------------------------
# Final Message & Reboot Option # Final Message & Reboot Option
# --------------------------------------------------------- # ---------------------------------------------------------
@ -133,10 +107,11 @@ echo "────────────────────────
echo "" echo ""
echo "The TimeTurner is ready. But remember:" echo "The TimeTurner is ready. But remember:"
echo "\"You must not be seen.\" Hermione Granger" echo "\"You must not be seen.\" Hermione Granger"
echo "Visual enchantments adapted for Wayland by Luna." echo "Visual enhancements are in place. Terminal timeline is stable."
echo "" echo ""
echo "The system will reboot in 30 seconds to complete setup..." echo "The system will reboot in 30 seconds to complete setup..."
echo "Press [Enter] to reboot immediately, or Ctrl+C to cancel." echo "Press [Enter] to reboot immediately, or Ctrl+C to cancel."
read -t 30 -p "" read -t 30 -p "" || true
sleep 1
sudo reboot sudo reboot