adafruit / adafruit/Adafruit_CircuitPython_IRRemote
Add feature to encode and decode MakeCode's infrared pulses
- Dominant language
- Python
- Stars
- 29
- Forks
- 31
- PR merge metrics
- No merged PRs in 30d
Description
MakeCode has its own IR protocol/encoding for sending a list of one or more 16 bit unsigned numbers. To allow MakeCode devices to communicate with CircuitPython it would be useful to implement this niche protocol. CircuitPython users may also like to use it.
The protocol is described by @mmoskal on https://makecode.com/blog/timing-adventures-in-infrared but the actual implementation in https://github.com/microsoft/pxt-common-packages/blob/master/libs/pulse/pulse.cpp _differs slightly_, the start of frame being obviously different, for example.
I think this would be best implemented in a separate file so it is only `import`'ed by those that wish to use it to avoid memory bloat.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the MakeCode timing-adventures article and the linked pxt-common-packages/libs/pulse/pulse.cpp implementation, comparing their framing and encoding details. Implement the protocol in a separate importable module, covering encoding and decoding lists of 16-bit unsigned values; done means MakeCode and CircuitPython devices can exchange these pulses without forcing users to import it unnecessarily.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- embedded-iot
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100