Skip to content

Chicago Bus Tracker Plugin - RFC#284

Open
queenkjuul wants to merge 1 commit into
BlueAndi:masterfrom
queenkjuul:chicago-bus-tracker
Open

Chicago Bus Tracker Plugin - RFC#284
queenkjuul wants to merge 1 commit into
BlueAndi:masterfrom
queenkjuul:chicago-bus-tracker

Conversation

@queenkjuul
Copy link
Copy Markdown

Hello!

I'm sorry if this kind of thing isn't welcome -- this PR is unlikely to be merge-able as-is, but I would like to get some opinions on it nonetheless.

Three years ago, when this repo was still called esp-rgb-led-matrix 😁, I started this project: basically copying the OpenWeatherMap plugin, but heavily modifying it to consume data from Chicago's CTA Bus Tracker API. I eventually also piped through API responses to make the web UI very easy to use -- it automatically fetches the relevant stops when you select a new line, for example. Development was very start-and-stop, as I got it working "good enough for me" early on, chipped away at the Web UI here and there over the years, but never came back to clean it up for release until now.

Since I started this in 2023 and never rebased against upstream changes, I suspect this code is not necessarily compatible with the current state of the project.

Additionally, I was unable to keep all of the changes entirely contained within the plugin itself: because the API responses from the CTA can be very large (over 100 bus lines, some with nearly 100 stops) and I have to both fetch them from the API and then send them back to the web UI, I had to drastically increase the amount of memory allocated to JSON serialization for everything to work.

So my questions are:

  1. Is this something the project would be interested in merging, if it were brought up to the current state of the project?
  2. If so, what all would that involve?

I am also planning to build an equivalent plugin for the trains, so I need to decide if I should rebase everything against 9.0 before starting, or if I should just plan to host my own Chicago-themed fork (in which case, I might just stick to 7.1.1 and keep building on top for simplicity's sake)

The only hardware I have to test with is a Ulanzi TC001 so while I think this plugin would be well suited to multi-row displays, I don't have a way to test that.

I want to be clear that I barely understand C++ 😅 I made some pretty atrocious mistakes with memory allocation early on and I consider myself pretty lucky that this works at all.

Thanks for all your work and for taking the time to look this over!

@queenkjuul queenkjuul force-pushed the chicago-bus-tracker branch from a2a95fe to aa027e3 Compare May 31, 2026 05:20
@queenkjuul queenkjuul force-pushed the chicago-bus-tracker branch from aa027e3 to ecdb5a7 Compare May 31, 2026 05:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant