Closed ZZ-Cat closed 1 year ago
I am merging this Pull Request "as-is". If I need to sort anything else out with OTA Updates, I can always open up another issue & pull request later on.
I am well aware that this PR has unverified commits. That is simply because, at the time that I was working on this, I had no idea of how to set verification up. It was this pull request that taught me how to set up commit verification. Now, literally all of my commits past 08b35f5 are verified, & this is now standard across all of my recent repositories.
I have made the conscious decision to leave all of my unverified commits in this Pull Request intact, because it shows historical accounts of how I went about setting it up, that I can refer back to at any point down the track (pun intended). =^/.~=
Overview
Over-The-Air Updates introduces the ability to remotely update RailDriver using the CLI, when new updates are released. Over-The-Air Updates are being written in two parts:
Part 1: Local Updates
RailDriver's code is uploaded directly from your
e2shared/RailDriver
directory to RailDriver's E2 chip in-game. This is geared towards managing offline updates. Completed by merging #26.Part 2: Online Updates
RailDriver's code is downloaded from its own repository right here on GitHub, & it gets saved to your
e2shared/RailDriver
directory. Once the code is downloaded, it will defer the update process to the local updates.What's new
Right-oh. I had to do a lot of preparation that I didn't realize was sorely needed with several other parts of RailDriver, before I could start work on the Online OTA Updates. What this meant was... I really should have made a separate Pull Request for that work before I started on this. However, at the time, I didn't know all of this work needed to be done.
Here is what I have so far...
.raildriver update local
&.raildriver update online
work as I have intended them to. However, when I wrote the code in order for that to happen, this brought in a bug that triggered a false negative on singular commands such as.raildriver help
&.raildriver about
. This was a bug-bear of mine (err... pun intended), & I fixed that straight away..raildriver update local
into the in-game chat, the Local OTA Updates process will scan every one of RailDriver's files & check them for changes. If one or more files (be it a library or RailDriver's main code) is changed, then the Local OTA Updates will go ahead & update RailDriver on your locomotive. Otherwise, the update process will be aborted & RailDriver will automatically restart.That's all I have for now, & as always... I will update the information in this Pull Request as I make more commits. Watch this space. =^/.~=