Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
members:sparky:plans [2026/05/12 22:19] Sparkymembers:sparky:plans [2026/09/14 23:54] (current) Sparky
Line 4: Line 4:
  
 ## TRMNL E-Ink Dashboard ## TRMNL E-Ink Dashboard
 +
 +<WRAP alert>
 +**Deprecated.** The space runs a different e-ink display now. These items are not being worked on.
 +</WRAP>
  
 ### TODO ### TODO
Line 23: Line 27:
 - [X] Display fixes during testing: 180° rotation, fill the 32px height with 3 trips, prevent (-N) indicator from overlapping the realtime icon, abbreviate long headsigns - [X] Display fixes during testing: 180° rotation, fill the 32px height with 3 trips, prevent (-N) indicator from overlapping the realtime icon, abbreviate long headsigns
 - [X] Upstream contribution: [PR #65](https://github.com/tjhorner/transit-tracker-api/pull/65) to quote partition table names so hyphenated feed codes (like `st-gtfs`) don't break the sync - [X] Upstream contribution: [PR #65](https://github.com/tjhorner/transit-tracker-api/pull/65) to quote partition table names so hyphenated feed codes (like `st-gtfs`) don't break the sync
 +- [X] Stream Deck preset buttons: a 15-key Stream Deck on the Pi runs [streamdeck-transit](https://github.com/sparkyfen/streamdeck-transit) in Docker. Keys call `select.select_option` on `select.transit_tracker_cycling_transit_preset`, and the deck polls Home Assistant back so the live preset stays lit even when someone switches it from the web UI.
 +- [X] Presets in place: Link (1 Line + 2 Line combined), Bus 8, Bus 10, Bus 12, First Hill Streetcar
 +- [X] Walking-time offsets calculated from the sign's GPS to each stop in the active preset (`sign_location` + `walk_speed_ms`), so offsets follow the preset automatically
 +- [X] Display power and brightness exposed to Home Assistant (`switch.hangout_transit_tracker_cycling_display_power`, `number.hangout_transit_tracker_cycling_display_brightness`), so a deck key can blank the sign without cutting power
 +- [X] Fixed a King County Metro outage: a `sync_lock` row orphaned since July blocked that feed from syncing for 60 days, its schedule data expired, and every KCM route went blank. Forced a resync and restarted the API to clear cached empty results.
  
 ### TODO ### TODO
-- [ ] Stream Deck → Home Assistant → displayper-route preset buttons +- [ ] Ship the API fixes for that outagereclaim sync locks older than six hours, and retire a feed's cached data after an import so a resync is visible without a restart (branch `fix/stale-sync-lock`) 
-  Each Stream Deck key selects preset (e.g. "1+2 Line both directions", "RapidRide B both directions", "Route 250 both directions") +- [ ] Flip the walking pip sign from `+7w` to `-7w`; `-` matches the actual math (arrival minus walk equals leave-by) 
-  Display updates to show two routes per preset (north/south or east/west of the same line+- [ ] Use the spare matrix row as a header showing the active preset name, so it is obvious which preset is on screen 
-  Combine Line + 2 Line into a single Link preset; separate buttons for each bus route +[ ] Return the Orange Pi lent for the button project. The Stream Deck runs on the existing transit Pi, so it was never needed. 
-  Walking-time offsets calculated dynamically from the sign's GPS to each stop in the active preset+- [ ] Label the Stream Deck keys physically, or add legend nearby, so the presets are usable without asking anyone 
 + 
 +## Big LED Signs (transit display embiggening) 
 + 
 +Two salvaged LED signs are earmarked for a larger version of the arrivals board. 
 +Asks and offers collected in #facilities > "next train display embiggening idea"
 + 
 +### Done 
 +- [X] Identified sign 1: iNOVA C08160S2two lines of 160x8a call-center wallboard. Recovered 12 original PDFs from the Wayback Machine; `instref.pdf` is the useful one. 
 +- [X] Confirmed the RJ11 "net injack is an RS485 daisy-chain port, 9600 baud by default, not a phone line 
 +- [X] Identified sign 2: Adaptive ALPHA 9200TRI, tri-color. Its protocol is public (Adaptive doc 9708-8061and the python `alphasign` library already speaks it. The ethernet jack is a Lantronix serial bridge, so it should be drivable once on the network. 
 +[X] Established a fallback for the iNOVA: its native command set is not published anywhere, so the panels can be driven directly instead, per the eyadid/esp-led-controller project 
 +- [X] A USB to RS485 adapter was donated and is at the space, on top of the yellow rack 
 + 
 +### TODO 
 +- [ ] Collect the donated RS485 adapter from the yellow rack 
 +- [ ] Find a sacrificial RJ11 cable and try talking to the iNOVA sign at 9600 baud 
 +- [ ] Get the ALPHA 9200TRI into the space. It currently fails self-test and its fan is very loud, though all the LED panels light. Then try `alphasign` over the Lantronix bridge (data on TCP 3001, config via telnet on 9999). 
 +[ ] Decide where it mounts. Suggestions so far: above the cork board, or roughly 8ft up on the north wall above the toolbox. 
 +- [ ] Pick which sign to target first. The ALPHA is far less work because its protocol is documented. 
 + 
 +### Layout requests from the thread 
 +- [ ] Show four trains at once, which the current 32px display cannot do 
 +- [ ] Put a clock on it. The existing space clock is unpopular. One suggestion was trains on the left, clock on the right. 
 +- [ ] Colocate with the 1+2 line PCB so all the transit displays live in one area 
 +[ ] Scrolling messages on the two-line sign rather than static text 
 +- [ ] A "days since someone tried to drive on the track" counter
  
 ## WhereTrain (ESP32 Transit Tracker) ## WhereTrain (ESP32 Transit Tracker)