- Simplified color code placement in box headers
- Improved padding logic for side-by-side display
- Better handling of content padding within boxes
- Deployed and verified on Pi
- Changed from single box with divider to two completely separate boxes
- Nail 1 box in red header, Nail 2 box in blue header
- Two space gap between boxes for clear visual separation
- Condensed panel content to fit 24-character box width
- Essential metrics only: status, temp, error, output, mode, phase, safety
- Better visual distinction between the two nail controllers
- Deployed and verified on Pi
- Replaced simple header with beautiful 12-line PINAIL ASCII art
- Magenta colored text for striking visual impact
- Much more impressive and eye-catching display
- Timestamp centered below the art
- Deployed and verified on Pi
- Expanded panel width from 20 to 29 characters per nail
- Better formatted text with more descriptive labels
- Full 'Nail 1' and 'Nail 2' names instead of abbreviations
- More readable temperature and error displays
- Improved overall visual separation and readability
- Deployed and verified on Pi
- Moved NAIL 1 and NAIL 2 panels to side-by-side layout
- Created compact panel format with essential metrics only
- Freed up vertical space for larger ASCII art header
- New header shows 'piNail' in larger ASCII art
- More efficient use of screen space and cleaner layout
- Deployed and verified on Pi
- Created compact 3-line ASCII art for 'piNail' on the left
- Timestamp and status info displayed on the right side
- Efficient use of screen space
- Better visual appeal while remaining compact
- Deployed and verified on Pi
- Simplified header to single line: '>> PINAIL STATUS <<'
- Fixed wrapping issues on narrow/small screens
- Much more compatible with various display sizes
- Deployed and verified
- Replaced multi-line block ASCII art with compact boxed header
- New design: compact box with 'PINAIL' text and version info
- Better suited for smaller screens and TTY displays
- Cleaner, more readable layout
- Deployed and verified on Pi
- Changed from 1-second full screen clear to 2-second redraws
- Data fetches happen every 0.5 seconds for responsiveness
- Reduces unnecessary screen clearing that was causing ASCII art to flicker
- Keeps display stable and readable while still updating status in real-time
- Deployed and verified on Pi
- Disabled and masked getty@tty1.service to give exclusive tty1 access to status display
- Updated pinail-status.service to use StandardError=journal instead of file
- Verified only one status display process running on Pi
- Resolved issue where old login shells and getty were competing for tty1
- Replaced simple text header with large block-style 'PINAIL' ASCII art
- Enhanced visual presentation with colored borders and better spacing
- Cyan colored top banner makes the display more eye-catching
- Deployed and verified on Pi
- Removed hourly news briefing system (briefing service/timer)
- Added tty_status_display.py: real-time status panel showing dual nail status
- Temperature, setpoint, error, PID output with visual bar
- Flight mode and phase badges with color coding
- PID coefficients and integral/derivative values
- Safety status indicators
- Continuous color-coded display with ANSI formatting
- Added pinail-status.service: systemd service for status display
- Runs as root with direct TTY output to /dev/tty1
- Auto-restart on failure, requires pinail2.service
- Logs errors to /tmp/status_display.log
- Deployed and verified running on Pi (service active)
- Fetches 12 articles hourly from FreshRSS
- Generates 4-6 sentence summaries using Ollama
- Creates sequential sethpc.xyz short links (pi0, pi1, etc.) via yourls
- Continuous vertical marquee scrolling at reading speed
- No wait between rescrolls - immediately loops to next pass
- New briefing generated every hour at :00
- Systemd service and timer for auto-start and hourly scheduling