CircuitPython library for infrared transmit and receive.
CircuitPython driver for use with IR Receivers.
Examples of products to use this library with:
This driver depends on:
Please ensure all dependencies are available on the CircuitPython filesystem. This is easily achieved by downloading the Adafruit library and driver bundle.
# Circuit Playground Express Demo Code # Adjust the pulseio 'board.PIN' if using something else import pulseio import board import adafruit_irremote pulsein = pulseio.PulseIn(board.REMOTEIN, maxlen=120, idle_state=True) decoder = adafruit_irremote.GenericDecode() # size must match what you are decoding! for NEC use 4 received_code = bytearray(4) while True: pulses = decoder.read_pulses(pulsein) print("Heard", len(pulses), "Pulses:", pulses) try: code = decoder.decode_bits(pulses, debug=False) print("Decoded:", code) except adafruit_irremote.IRNECRepeatException: # unusual short code! print("NEC repeat!") except adafruit_irremote.IRDecodeException as e: # failed to decode print("Failed to decode: ", e.args) print("----------------------------")
Contributions are welcome! Please read our Code of Conduct before contributing to help this project stay welcoming.
To build this library locally you’ll need to install the circuitpython-build-tools package.
python3 -m venv .env source .env/bin/activate pip install circuitpython-build-tools
Once installed, make sure you are in the virtual environment:
Then run the build:
circuitpython-build-bundles --filename_prefix adafruit-circuitpython-irremote --library_location .
Sphinx is used to build the documentation based on rST files and comments in the code. First, install dependencies (feel free to reuse the virtual environment from above):
python3 -m venv .env source .env/bin/activate pip install Sphinx sphinx-rtd-theme
Now, once you have the virtual environment activated:
cd docs sphinx-build -E -W -b html . _build/html
This will output the documentation to docs/_build/html. Open the index.html in your browser to view them. It will also (due to -W) error out on any warning like Travis will. This is a good way to locally verify it will pass.