import RPi.GPIO as GPIO
import time
import picamera
fr=0
flag1=0
GPIO.setmode(GPIO.BCM)
GPIO.setup(24, GPIO.IN, pull_up_down = GPIO.PUD_UP)
GPIO.setup(23, GPIO.IN, pull_up_down = GPIO.PUD_UP)
GPIO.setup(22, GPIO.IN, pull_up_down = GPIO.PUD_UP)
GPIO.setup(27, GPIO.IN, pull_up_down = GPIO.PUD_UP)
f = open('/home/pi/fotopicam/foto.txt', 'r')
fs = f.read()
f.close()
ffs = fs +'f'
f = open('/home/pi/fotopicam/foto.txt', 'w')
f.write(ffs)
f.close()
with picamera.PiCamera() as camera:
	#camera.resolution = (2592, 1944)
	camera.resolution = (1296, 972)
	camera.framerate = 25
	while camera.analog_gain <= 1:
		#time.sleep(0.01)
		a=1
	camera.exposure_mode = "off"
	camera.preview_fullscreen=0
	camera.preview_window = (0,0,1024,768)
	#camera.crop = (0,0,1,1)
	#camera.contrast = -9
	#camera.drc_strength = 'low'
	#camera.rotation = 180
	#camera.awb_mode = "sunlight"
	camera.awb_mode = "off"
	camera.awb_gains =1.3
	camera.iso = 100
	bp=4*GPIO.input(23) + 2*GPIO.input(22) + 1*GPIO.input(27)
	print(bp)
	sp=200*2**bp
	print(sp)		
	camera.shutter_speed = sp
	#camera.shutter_speed = 0
	camera.start_preview()
	start = time.time()
	def printFunction(channel):
		print("Button 1 pressed!")
		global start
		fin = time.time()
		print fin - start
		if fin-start>4:
			start = time.time()
			global fr
			fr=fr+1
			bp=4*GPIO.input(23) + 2*GPIO.input(22) + 1*GPIO.input(27)
			print(bp)
			sp=200*2**bp
			print(sp)		
			camera.shutter_speed = sp
			#camera.capture("/home/pi/fotopicam/"+ffs+"pir%03d.jpg" % fr)
			camera.start_recording('/home/pi/fotopicam/'+ffs+'v189d%02d.h264' % fr)
			camera.wait_recording(20)
			camera.stop_recording()

		
	GPIO.add_event_detect(24, GPIO.FALLING, callback=printFunction, bouncetime=300)
	while True:
		a=1
	
GPIO.cleanup()
