mirror of
https://github.com/cjfranko/NTP-Timeturner.git
synced 2025-11-08 10:22:02 +00:00
final commit for the day
This commit is contained in:
parent
7ec7f6844d
commit
9fe70f4688
2 changed files with 29 additions and 48 deletions
42
README.md
42
README.md
|
|
@ -1,31 +1,37 @@
|
|||
# 🕰️ 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 Granger’s 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)
|
||||
- 🌐 Serves NTP time to local devices
|
||||
- ⚡ Fast, reliable startup using a USB audio interface
|
||||
- 🔌 Optional OLED display for system time and sync status (coming soon)
|
||||
- 🛜 Web interface for Wi-Fi config and status (in development)
|
||||
- Raspberry Pi 3 (or better)
|
||||
- Debian Bookworm (64-bit recommended)
|
||||
- USB audio input (e.g. USB to 3.5mm TRS adapter)
|
||||
- Ethernet connection (recommended for stable NTP)
|
||||
- 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:
|
||||
```bash
|
||||
git clone https://github.com/cjfranko/NTP-Timeturner.git
|
||||
cd NTP-Timeturner
|
||||
Clone and run the installer:
|
||||
|
||||
```bash
|
||||
wget https://raw.githubusercontent.com/cjfranko/NTP-Timeturner/master/setup.sh
|
||||
chmod +x setup.sh
|
||||
./setup.sh
|
||||
|
|
|
|||
35
setup.sh
35
setup.sh
|
|
@ -89,40 +89,14 @@ sudo make install
|
|||
sudo ldconfig
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# Step 7: Apply Custom Splash Screen and Wayland Wallpaper
|
||||
# Step 7: Apply Custom Splash Screen
|
||||
# ---------------------------------------------------------
|
||||
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 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
|
||||
# ---------------------------------------------------------
|
||||
|
|
@ -133,10 +107,11 @@ echo "────────────────────────
|
|||
echo ""
|
||||
echo "The TimeTurner is ready. But remember:"
|
||||
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 "The system will reboot in 30 seconds to complete setup..."
|
||||
echo "Press [Enter] to reboot immediately, or Ctrl+C to cancel."
|
||||
|
||||
read -t 30 -p ""
|
||||
read -t 30 -p "" || true
|
||||
sleep 1
|
||||
sudo reboot
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue