-
Notifications
You must be signed in to change notification settings - Fork 7.3k
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
Fix standard NEC IR transmission (IDFGH-2676) #4750
Conversation
RMT write should be non-blocking to wait the correct time for sending the repeat frame
fixes standard protocol mode wich would fail due to integer promotion in inversion
Thanks for the contribution. |
Thanks for the contribution. |
@Dee-Fuse Thanks for your contributions, we will merge it ASAP. |
@@ -102,10 +102,10 @@ static esp_err_t nec_build_frame(ir_builder_t *builder, uint32_t address, uint32 | |||
if (!nec_builder->flags & IR_TOOLS_FLAGS_PROTO_EXT) { | |||
uint8_t low_byte = address & 0xFF; | |||
uint8_t high_byte = (address >> 8) & 0xFF; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
alternatively invert the variables in here instead of inverting it in the comparision
uint8_t high_byte = (~address >> 8) & 0xFF;
Same for the command
fixes standard protocol mode wich would fail due to integer promotion in inversion Merges #4750
fixes standard protocol mode wich would fail due to integer promotion in inversion Merges #4750
Thanks for your contribution! we have merged this PR. See in c788351 |
There are some oversights in the RMT IR example that might break the functionallity of it.
One problem were the blocking RMT writes which elongated the delay between message and repeat frame to increase.
The other issue had to do with integer promotion which prevented the use of the utility in non-extended mode.