hal: Rewrite most of halrmt to become functional and use the query API - #4352
Open
BsAtHome wants to merge 1 commit into
Open
hal: Rewrite most of halrmt to become functional and use the query API#4352BsAtHome wants to merge 1 commit into
BsAtHome wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR is the rewrite of halrmt as required by the HAL updates. It is single-threaded now and supports multiple connections simultaneously. All direct access to HAL's inner workings have been removed and replaced with the HAL query API. The documentation has been updated.
There may still be some things that need be altered. The original code was mostly copied from halcmd and then forced into handling I/O via the network. Some operations do not necessarily benefit from that. As an example, the
SET SAVEcommand may include a filename, but that filename is on the remote computer (where halrmt runs). TheSET SAVEcommand can now run without the filename argument to output over the network connection, but the format is not suitable for putting it back into the network connection. The format does work with halcmd. It is necessary to rework the output so you can do full remote interaction without too many interpretation steps.There may still be other things lingering. However, this new version is an improvement and at least working, whereas the old version was deemed non-functional.
Note: The
halrmc.ccsource file is now a C++ file. Recompiling locally after merging may require amake cleanor at least the removal of the outdated dependency file(s) that still reference the oldhalrmc.cC-file. Otherwise a build error will note a missing file that should be missing but still gets referenced by a stale dependency.