From 5ea84e8c200646b59668625df3ebed073150ed3f Mon Sep 17 00:00:00 2001 From: iabdalkader Date: Mon, 10 Feb 2014 03:14:14 +0200 Subject: [PATCH] Move openmv code to separate python module * Add openmv module which has USB debug functions * Update IDE and FB viewer to use openmv module --- usr/openmv-fb.py | 28 ++++++------------------ usr/openmv-ide.py | 37 +++++++++---------------------- usr/openmv.py | 55 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 71 insertions(+), 49 deletions(-) create mode 100644 usr/openmv.py diff --git a/usr/openmv-fb.py b/usr/openmv-fb.py index a25781bc1..6af47822a 100755 --- a/usr/openmv-fb.py +++ b/usr/openmv-fb.py @@ -4,11 +4,9 @@ import usb.core import usb.util import numpy as np import pygame +import openmv from time import sleep -interface = 2; -altsetting= 1; - def rgb_to_surface(buff): arr = np.fromstring(buff, dtype=np.uint16).newbyteorder('S') r = (((arr & 0xF800) >>11)*255.0/31.0).astype(np.uint8) @@ -17,24 +15,12 @@ def rgb_to_surface(buff): arr = np.column_stack((r,g,b)).flat[0:] return pygame.image.frombuffer(arr, (160, 120), 'RGB') -# find USB device -dev = usb.core.find(idVendor=0x0483, idProduct=0x5740) -if dev is None: - raise ValueError('Device not found') - -# detach kernel driver -if dev.is_kernel_driver_active(interface): - dev.detach_kernel_driver(interface) - -# claim interface -usb.util.claim_interface(dev, interface) - -# set FB debug alt setting -dev.set_interface_altsetting(interface, altsetting) - # init pygame pygame.init() +# init openmv +openmv.init() + # init screen screen = pygame.display.set_mode((160, 120), pygame.DOUBLEBUF, 32) @@ -45,11 +31,8 @@ font = pygame.font.SysFont("monospace", 15) while running: Clock.tick(60) - # request snapshot - dev.ctrl_transfer(0xC1, 8, 0, 2, None, 2000) - # read framebuffer - buf = dev.read(0x83, img_size, interface, 5000) + buf = openmv.dump_fb() if len(buf)