import sensor
import lcd
import image
import time
import os
from maix import GPIO
from board import board_info
from fpioa_manager import fm

folder = os.listdir('/sd')
if 'image' not in folder:
    os.mkdir('/sd/image')

running = 0

def key_irq(pin_num):
    global running

    if running == 0:
        running = 1
    else:
        running = 0

    print("running:",running)


print("init")
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.VGA)
sensor.run(1)
sensor.skip_frames(40)
fm.register(board_info.ENTER_KEY, fm.fpioa.GPIOHS0, force=True)
key=GPIO(GPIO.GPIOHS0, GPIO.IN, GPIO.PULL_NONE)
key.irq(key_irq, GPIO.IRQ_FALLING, GPIO.WAKEUP_NOT_SUPPORT, 7)

print("init ok")

pic_cnt = 0 #Set initial id for the first image

while(True):
    img = sensor.snapshot()
    img.crop((48,8,224,224))
    if running != 0:
        path = "/sd/image/image_%d.jpg"%pic_cnt
        print("save image to", path)
        img.save(path)
        show_str = 'capturing...\nimage_%d'%pic_cnt
        img.draw_string(40, 20, show_str, scale=2, color=(0,255,0), x_spacing=2, mono_space=0)
        pic_cnt += 1
        time.sleep(0.2)

    else:
        img.draw_string(40, 20, b'paused', scale=2, color=(255,0,0), x_spacing=2, mono_space=0)

    lcd.display(img)


