RP: Pio backed NEC Ir driver and example.#5354
Open
CBJamo wants to merge 3 commits intoembassy-rs:mainfrom
Open
RP: Pio backed NEC Ir driver and example.#5354CBJamo wants to merge 3 commits intoembassy-rs:mainfrom
CBJamo wants to merge 3 commits intoembassy-rs:mainfrom
Conversation
Also added public method to invert PIO pin input, though it didn't turn out to be needed for the NEC Ir program.
The original NEC IR uses a 9ms initial burst, followed by a 4.5ms space. I don't know what the name of my samsung tv's protocol, but it uses a 4.5ms burst with the same 4.5ms space. This commit lets you configure the inital burst length when sending an IR command.
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 isn't tested against an actual NEC IR device, because it turns out my TV uses a slightly different protocol, but it does decode correct on my logic analyzer.
The TX driver uses two programs that communicate with an IRQ. Ideally we'd have a way to represent that flag as a singleton so you couldn't cross the streams, but for now I've just documented that the IRQ flag can't be shared.
Also added public method to invert PIO pin input, because I thought I needed that for my hardware, it didn't turn out to be necessary, but someone will need it eventually so it might as well come along for the ride.