def enter_method(tp): #现在只支持py文件 global key1_init global cwd global flist global cursor p_f = flist[cursor] p_f = p_f.strip() if (p_f.endswith('.py')): lcd.clear() key1.disirq() fm.unregister(16) key2.disirq() key3.disirq() fm.unregister(20) fm.unregister(23) filename = way_get(cwd) + '/' + p_f with open(filename) as f: exec(f.read()) else: lcd.draw_string(240, 35, 'Can not open this file', lcd.RED, lcd.BLACK) utime.sleep_ms(800) utime.sleep(400)
# Deinitialising was causing the program to crash #lcd_display_text(0, 224, "Deinitialising KPU...") #kpu.deinit(task) # Turn alarms and lights off lcd_display_text(0, 224, "Turning off GPIO...") led_r.value(1) led_g.value(1) led_b.value(1) siren.value(0) led_3w.value(0) ir_leds.value(0) # Unregister GPIO fm.unregister(board_info.LED_R, fm.fpioa.GPIO2) fm.unregister(board_info.LED_G, fm.fpioa.GPIO1) fm.unregister(board_info.LED_B, fm.fpioa.GPIO0) fm.unregister(board_info.WIFI_RX, fm.fpioa.GPIO7) fm.unregister(board_info.WIFI_EN, fm.fpioa.GPIOHS0) fm.unregister(board_info.PIN9, fm.fpioa.GPIOHS1) fm.unregister(board_info.PIN10, fm.fpioa.GPIOHS2) # Power down after time lcd_display_text(0, 224, "Powering Down...") pwr_off.value(1) time.sleep(5) pwr_off.value(0) fm.unregister(board_info.WIFI_TX, fm.fpioa.GPIO6) lcd_display_text(0, 224, "Powered Down...")
from board import board_info from fpioa_manager import fm # register pin to gpiohs0, # arg force means force register no matter we have registered before or not # if arg force=False(by default), register func will return a tuple that registered info, # or return number 1 fm.register(board_info.LED_R, fm.fpioa.GPIO0, force=True) fm.register(board_info.LED_G, fm.fpioa.GPIOHS0, force=True) fm.register(board_info.KEY_0, fm.fpioa.GPIO1, force=True) led_r = GPIO(GPIO.GPIO0, GPIO.OUT) led_g = GPIO(GPIO.GPIOHS0, GPIO.OUT) input = GPIO(GPIO.GPIO1, GPIO.IN) i = 0 status = 0 while i < 20: led_r.value(status) utime.sleep_ms(500) led_g.value(status) print("LED :", led_r.value()) print("-----input:", input.value()) i += 1 status = 0 if (status == 1) else 1 utime.sleep_ms(500) fm.unregister(board_info.LED_R, fm.fpioa.GPIO0) fm.unregister(board_info.LED_G, fm.fpioa.GPIOHS0) fm.unregister(board_info.KEY_0, fm.fpioa.GPIO1)
print(board_info.LED_B) fm.register(board_info.LED_R, fm.fpioa.GPIO0, force=True) fm.register(board_info.LED_G, fm.fpioa.GPIOHS0, force=True) fm.register(board_info.LED_B, fm.fpioa.GPIO2, force=True) fm.register(board_info.BOOT_KEY, fm.fpioa.GPIO3, force=True) led_r = GPIO(GPIO.GPIO0, GPIO.OUT) led_g = GPIO(GPIO.GPIOHS0, GPIO.OUT) led_b = GPIO(GPIO.GPIO2, GPIO.OUT) key_input = GPIO(GPIO.GPIO3, GPIO.IN) status = 0 for i in range(0, 20): led_r.value(status) time.sleep_ms(300) led_g.value(status) time.sleep_ms(300) led_b.value(status) time.sleep_ms(300) status = 0 if (status == 1) else 1 time.sleep_ms(300) print("LED RGB(%d,%d,%d)" % (led_r.value(), led_g.value(), led_b.value())) time.sleep_ms(100) print("key_input:", key_input.value()) fm.unregister(board_info.LED_R) fm.unregister(board_info.LED_G) fm.unregister(board_info.LED_B) fm.unregister(board_info.BOOT_KEY)
print(filesInSd) while (("photo%03d.jpg" % photoIndex) in filesInSd): photoIndex = photoIndex + 1 except: photoIndex = "no card" lcd.init(freq=15000000) sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) sensor.set_windowing((224, 224)) sensor.set_vflip(0) sensor.set_hmirror(0) sensor.skip_frames(time=1000) clock = time.clock() while (True): clock.tick() img = sensor.snapshot() inputValue = input.value() if (inputValue == 1 and prevInputValue == 0): img.save("/sd/photo%03d.jpg" % photoIndex, quality=95) photoIndex = photoIndex + 1 prevInputValue = inputValue img.draw_string(2, 2, str(photoIndex), color=(255, 0, 0), scale=2) lcd.display(img) fm.unregister(board_info.BOOT_KEY, fm.fpioa.GPIO1)
import utime from Maix import GPIO from board import board_info from fpioa_manager import fm def test_irq(pin_num): print("key", pin_num, "\n") # register pin to gpiohs0, # arg force means force register no matter we have registered before or not fm.register(board_info.KEY_0, fm.fpioa.GPIOHS0, force=True) key = GPIO(GPIO.GPIOHS0, GPIO.IN, GPIO.PULL_NONE) utime.sleep_ms(500) key.value() key.irq(test_irq, GPIO.IRQ_BOTH, GPIO.WAKEUP_NOT_SUPPORT, 7) i = 0 while i < 20: key.value() utime.sleep_ms(500) i += 1 key.disirq() fm.unregister(board_info.KEY_0, fm.fpioa.GPIOHS0)
from board import board_info from fpioa_manager import fm # register pin to gpiohs0, # arg force means force register no matter we have registered before or not # if arg force=False(by default), register func will return a tuple that registered info, # or return number 1 fm.register(board_info.LED_R, fm.fpioa.GPIO0, force=True) fm.register(board_info.LED_G, fm.fpioa.GPIOHS0, force=True) fm.register(board_info.BOOT_KEY, fm.fpioa.GPIO1, force=True) led_r = GPIO(GPIO.GPIO0, GPIO.OUT) led_g = GPIO(GPIO.GPIOHS0, GPIO.OUT) input = GPIO(GPIO.GPIO1, GPIO.IN) i = 0 status = 0 while i<20: led_r.value(status) led_g.value(status) print("LED :", led_r.value()) print("-----input:", input.value()) i+=1 status = 0 if (status==1) else 1 utime.sleep_ms(500) fm.unregister(board_info.LED_R, fm.fpioa.GPIO0) fm.unregister(board_info.LED_R, fm.fpioa.GPIOHS0) fm.unregister(board_info.BOOT_KEY, fm.fpioa.GPIO1)
from board import board_info from fpioa_manager import fm fm.register(board_info.BOOT_KEY, fm.fpioa.GPIOHS0, force=True) from Maix import GPIO def test_irq(pin_num): print("key", pin_num) key = GPIO(GPIO.GPIOHS0, GPIO.IN, GPIO.PULL_NONE) key.irq(test_irq, GPIO.IRQ_BOTH, GPIO.WAKEUP_NOT_SUPPORT, 7) import time for i in range(20): #print('key.value(): ', key.value()) time.sleep_ms(500) key.disirq() fm.unregister(board_info.BOOT_KEY)