# SPDX-FileCopyrightText: Copyright (c) 2022 Jeff Epler for Adafruit Industries # # SPDX-License-Identifier: Unlicense """ This demo is designed for the Kaluga development kit version 1.3 with the ILI9341 display. """ import struct import board import espcamera import qrio print("Initializing camera") cam = espcamera.Camera( data_pins=board.CAMERA_DATA, external_clock_pin=board.CAMERA_XCLK, pixel_clock_pin=board.CAMERA_PCLK, vsync_pin=board.CAMERA_VSYNC, href_pin=board.CAMERA_HREF, pixel_format=espcamera.PixelFormat.RGB565, frame_size=espcamera.FrameSize.R240X240, i2c=board.I2C(), external_clock_frequency=20_000_000, framebuffer_count=2) cam.vflip = True cam.hmirror = True board.DISPLAY.auto_refresh = False display_bus = board.DISPLAY.bus print(cam.width, cam.height) qrdecoder = qrio.QRDecoder(cam.width, cam.height) print(qrdecoder.width, qrdecoder.height) #raise SystemExit ow = (board.DISPLAY.width - cam.width) // 2 oh = (board.DISPLAY.height - cam.height) // 2 display_bus.send(42, struct.pack(">hh", ow, cam.width + ow - 1)) display_bus.send(43, struct.pack(">hh", oh, cam.height + ow - 1)) while True: frame = cam.take(1) display_bus.send(44, frame) for row in qrdecoder.decode(frame, qrio.PixelPolicy.RGB565_SWAPPED): payload = row.payload try: payload = payload.decode("utf-8") except UnicodeError: payload = str(payload) print(payload) print(end=".")