Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Serialize command sequence to enable last pause command. #528

Merged
merged 15 commits into from Jun 16, 2023

Conversation

banboobee
Copy link

@banboobee banboobee commented Aug 27, 2022

This PR serializes the command sequence of Advanced HEX Structure to deal with issue #478. In addition to serializing primitive IR/RF commands of PR #520, this PR also serializes pause/interval commands. Adding pause command to last step of the sequence, next command has to wait for pausing time before its evaluation. Thus, any "minimum time between commands" can be implemented using Advanced HEX Structure. I wish the issue author validates this PR and inform the results.

This PR also manages Problem 2 of issue #471. Although similar issues are reported sometime, it is not a bug but an intended behavior. To avoid simultaneous temporal command operations, succeeding command cancels out operating command. Hence, power command cancels out input selection command for TV in a scene, and sent only once. Since this PR serializes input and power commands, both commands are expected to be completed successfully.

@stale
Copy link

stale bot commented Dec 3, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the wontfix This will not be worked on label Dec 3, 2022
@stale stale bot closed this Dec 17, 2022
@kiwi-cam kiwi-cam reopened this Jun 16, 2023
@stale stale bot removed the wontfix This will not be worked on label Jun 16, 2023
@kiwi-cam kiwi-cam changed the base branch from master to beta June 16, 2023 02:27
@kiwi-cam kiwi-cam merged commit 7501cfc into kiwi-cam:beta Jun 16, 2023
@banboobee
Copy link
Author

banboobee commented Jun 17, 2023

Dear Kiwi-cam,

Note that PR #528 and PR #520 are mutually exclusive, and either one of them should be applied.

PR #520 queues sendData() to resolve the collision between accessories sharing same broadlink device. PR #528 queues performSend() to resolve the collision within a accessory also. performSend() calls sendData() internally, applying both duplicates the queueing operation, and unexpected behavior may arise, I geuss.

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.

None yet

2 participants