Beispiel #1
0
def button_callback_3():
    global camera
    global overlay
    global config

    print("Button 3: Zoom")
    zoom(camera, config)
    overlay = overlay_handler.add_overlay(camera, overlay, config)
    overlay_handler.display_text(camera, '', config)
Beispiel #2
0
def adjust_delay(camera, config):
    idex = config["delay_times"].index(config["delay_time"]) + 1

    if idex >= len(config["delay_times"]):
        idex = 0

    config["delay_time"] = config["delay_times"][idex]

    overlay_handler.display_text(camera, '', config)
    print(f'delay_time: {config["delay_time"]}')
Beispiel #3
0
def select_menu_item(camera, config):
  idex = config["current_menu_items"].index(config["menu_item"]) + 1

  if idex < len(config["current_menu_items"]):
    config["menu_item"] = config["current_menu_items"][idex]
  else:
    config["menu_item"] = config["default_menu_item"]

  overlay_handler.display_text(camera, '', config)
  print(f'menu_item: {config["menu_item"]}')
Beispiel #4
0
def adjust_awb_mode(camera, config):
    idex = config["available_awb_mode"].index(config["awb_mode"]) + 1

    if idex < len(config["available_awb_mode"]):
        config["awb_mode"] = config["available_awb_mode"][idex]
    else:
        config["awb_mode"] = config["default_awb_mode"]

    camera.awb_mode = config["awb_mode"]
    overlay_handler.display_text(camera, '', config)
    print(f'awb_mode: {config["awb_mode"]}')
Beispiel #5
0
def adjust_iso(camera, config):
    idex = config["available_isos"].index(config["iso"]) + 1

    if idex < len(config["available_isos"]):
        camera.iso = config["available_isos"][idex]
    else:
        camera.iso = config["default_iso"]

    overlay_handler.display_text(camera, '', config)

    config["iso"] = camera.iso
    print(f'iso: {config["iso"]}')
Beispiel #6
0
def adjust_exposure_mode(camera, config):
    idex = config["available_exposure_modes"].index(
        config["exposure_mode"]) + 1

    if idex < len(config["available_exposure_modes"]):
        camera.exposure_mode = config["available_exposure_modes"][idex]
    else:
        camera.exposure_mode = config["default_exposure_mode"]

    overlay_handler.display_text(camera, '', config)

    config["exposure_mode"] = camera.exposure_mode
    print(f'exposure_mode: {config["exposure_mode"]}')
Beispiel #7
0
def adjust_shutter_speed(camera, config):
    idex = config["available_shutter_speeds"].index(
        config["shutter_speed"]) + 1

    if idex < len(config["available_shutter_speeds"]):
        config["shutter_speed"] = config["available_shutter_speeds"][idex]
    else:
        config["shutter_speed"] = config["default_shutter_speed"]

    # camera.framerate = compute_framerate(camera, config) # Done when taking the shot
    camera.shutter_speed = config["shutter_speed"]
    config["take_long_shutter_speed"] = False

    overlay_handler.display_text(camera, '', config)
    print(
        f'shutter_speed: {overlay_handler.compute_shutter_speed_from_us(config["shutter_speed"])}, set speed: {camera._get_shutter_speed()}, fps: {camera.framerate}'
    )
Beispiel #8
0
def auto_mode(camera, overlay, config, skip_dpc=False):
    print('auto mode!')

    camera.iso = config["default_iso"]
    camera.exposure_mode = config["default_exposure_mode"]
    camera.shutter_speed = config["default_shutter_speed"]
    camera.awb_mode = config["default_awb_mode"]
    camera.framerate = compute_framerate(camera, config)

    if skip_dpc == False and config['dpc'] != config['default_dpc']:
        config['dpc'] = config['default_dpc']
        set_dpc(camera, overlay, config)

    if config["fom"] != config["default_fom"]:
        adjust_fom(camera, config)
        set_fom(camera, config)

    overlay_handler.display_text(camera, '', config)
Beispiel #9
0
def start_camera(original_config, skip_auto=False, skip_button_listen=False):
    global camera
    global overlay
    global config

    # Force variables to be blanked
    camera = None
    overlay = None
    config = original_config

    # Config Variables
    screen_fps = config["screen_fps"]
    capture_timeout = config["capture_timeout"]

    screen_w = config["screen_w"]
    screen_h = config["screen_h"]
    width = config["width"]
    height = config["height"]

    # Init
    # https://github.com/waveform80/picamera/issues/329
    PiCamera.CAPTURE_TIMEOUT = capture_timeout
    print(f'Camera Timeout: {PiCamera.CAPTURE_TIMEOUT}')
    camera = PiCamera(
    )  # framerate=fps is bugged - rather set camera.framerate

    if skip_auto == False:
        auto_mode(camera, overlay, config)

    overlay = None

    camera.resolution = (screen_w, screen_h)
    camera.framerate = screen_fps  # fps

    overlay = overlay_handler.add_overlay(camera, overlay, config)
    overlay_handler.display_text(camera, '', config)
    print(f'screen: ({screen_w}, {screen_h}), res: ({width}, {height})')

    if skip_button_listen == False:
        start_button_listen(config)

    start_preview(camera, config)

    return [camera, overlay]
Beispiel #10
0
def adjust_hdr2(camera, config):
    config["hdr2"] = not config["hdr2"]
    overlay_handler.display_text(camera, '', config)
Beispiel #11
0
def adjust_fom(camera, config):
    config["fom"] = not config["fom"]
    overlay_handler.display_text(camera, '', config)
Beispiel #12
0
def set_raw_convert(camera, config):
    config["raw_convert"] = not config["raw_convert"]
    overlay_handler.display_text(camera, '', config)
    print(f'raw_convert: {config["raw_convert"]}')
Beispiel #13
0
def adjust_encoding(camera, config):
    config["encoding"] = not config["encoding"]
    overlay_handler.display_text(camera, '', config)
    print(f'encoding: {config["encoding"]}')
Beispiel #14
0
def set_video(camera, config):
    config["video"] = not config["video"]
    overlay_handler.display_text(camera, '', config)
    print(f'video: {config["video"]}')
Beispiel #15
0
def set_hdr(camera, config):
    config["hdr"] = not config["hdr"]
    overlay_handler.display_text(camera, '', config)
    print(f'hdr: {config["hdr"]}')