18 Commits

Author SHA1 Message Date
Seth 24c57beda8 Restore safety cutoff to 800F, faster PID loop timing, enhanced simple UI with stats/charts/flight controls, compact TTY display 2026-03-13 00:36:10 +00:00
Seth 2853fa3f8a Fix spacing calculation to account for ANSI color codes
- Added strip_ansi() helper function to remove color codes before length calc
- Fixed padding logic to calculate visible character length correctly
- ANSI codes no longer mess up the box alignment
- Both boxes should now align properly regardless of color content
- Deployed and verified on Pi
2026-03-12 04:28:48 +00:00
Seth 12964fa3ab Increase spacing between nail boxes to prevent bleeding
- Increased gap from 2 to 5 spaces between NAIL 1 and NAIL 2 boxes
- Prevents right-side text from bleeding into left side
- Better visual separation and clarity
- Deployed and verified on Pi
2026-03-12 04:27:24 +00:00
Seth 7ddf5c80f9 Refactor box rendering for better alignment
- 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
2026-03-12 04:26:09 +00:00
Seth b22702bc9d Create distinct separate boxes for NAIL 1 and NAIL 2
- 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
2026-03-12 04:25:07 +00:00
Seth 8f72402009 Add epic PINAIL ASCII art header
- 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
2026-03-12 04:24:07 +00:00
Seth e7e827c41a Improve spacing between nail panels
- 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
2026-03-12 04:19:28 +00:00
Seth 6870937c7c Reorganize display with side-by-side nail panels for more header space
- 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
2026-03-12 04:18:26 +00:00
Seth 7742f15912 Add ASCII art header with side-by-side timestamp layout
- 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
2026-03-12 04:16:09 +00:00
Seth a458afd2f0 Ultra-compact header for small terminal widths
- Simplified header to single line: '>> PINAIL STATUS <<'
- Fixed wrapping issues on narrow/small screens
- Much more compatible with various display sizes
- Deployed and verified
2026-03-12 04:15:23 +00:00
Seth 35f7aa41cf Replace large ASCII art with compact box-style header
- 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
2026-03-12 04:14:47 +00:00
Seth 038905fe51 Reduce flicker by increasing display refresh interval
- 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
2026-03-12 04:13:54 +00:00
Seth 5b18116a41 Fix tty1 contention by masking getty@tty1 service
- 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
2026-03-12 04:13:20 +00:00
Seth 4b76f9896a Add fancy ASCII art title to status display
- 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
2026-03-12 04:11:33 +00:00
Seth 57fbd7063e Replace briefing system with fancy CLI status display panel
- 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)
2026-03-12 04:08:55 +00:00
Seth 7d62243fe6 Add hourly news briefing system with continuous marquee scroll
- 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
2026-03-12 04:05:30 +00:00
Seth c4c86747e5 Release v2.0.0 with dual-nail control and hardened safety 2026-03-12 02:07:27 +00:00
Seth fe550429a5 Initialize piNail project with modern piNail2 web controller 2026-03-11 20:11:59 +00:00