"""
Autogenerated python message buffer code.
Source: clad/types/visionModes.clad
Full command line: victor-clad/tools/message-buffers/emitters/Python_emitter.py -C src -I clad/src lib/util/source/anki/clad robot/clad/src coretech/vision/clad_src coretech/common/clad_src -o generated/cladPython clad/types/visionModes.clad
"""

from __future__ import absolute_import
from __future__ import print_function

def _modify_path():
  import inspect, os, sys
  search_paths = [
    '../..',
    '../../../../victor-clad/tools/message-buffers/support/python',
  ]
  currentpath = os.path.abspath(os.path.dirname(inspect.getfile(inspect.currentframe())))
  for search_path in search_paths:
    search_path = os.path.normpath(os.path.abspath(os.path.realpath(os.path.join(currentpath, search_path))))
    if search_path not in sys.path:
      sys.path.insert(0, search_path)
_modify_path()

import msgbuffers

Anki = msgbuffers.Namespace()
Anki.Vector = msgbuffers.Namespace()

class VisionMode(object):
  "Automatically-generated uint_32 enumeration."
  Markers              = 0x0
  Faces                = 0x0 + 1
  Motion               = 0x0 + 2
  BrightColors         = 0x0 + 3
  OverheadEdges        = 0x0 + 4
  Calibration          = 0x0 + 5
  AutoExp              = 0x0 + 6
  WhiteBalance         = 0x0 + 7
  Stats                = 0x0 + 8
  Pets                 = 0x0 + 9
  Lasers               = 0x0 + 10
  OverheadMap          = 0x0 + 11
  Obstacles            = 0x0 + 12
  Benchmark            = 0x0 + 13
  SaveImages           = 0x0 + 14
  People               = 0x0 + 15
  Hands                = 0x0 + 16
  Illumination         = 0x0 + 17
  Viz                  = 0x0 + 18
  MirrorMode           = 0x0 + 19
  Offboard             = 0x0 + 20
  Markers_Off          = 0x0 + 21
  Markers_ChargerOnly  = 0x0 + 22
  Markers_FullFrame    = 0x0 + 23
  Markers_FullHeight   = 0x0 + 24
  Markers_FullWidth    = 0x0 + 25
  Markers_FastRotation = 0x0 + 26
  Markers_Composite    = 0x0 + 27
  Faces_Expression     = 0x0 + 28
  Faces_Smile          = 0x0 + 29
  Faces_Gaze           = 0x0 + 30
  Faces_Blink          = 0x0 + 31
  Faces_Crop           = 0x0 + 32
  AutoExp_Cycling      = 0x0 + 33
  AutoExp_MinGain      = 0x0 + 34
  Count                = 0x0 + 35

Anki.Vector.VisionMode = VisionMode
del VisionMode


def CycleCompletesInOneFrame(visionMode, defaultValue):
  return {
    VisionMode.Markers: 1,
    VisionMode.Faces: 1,
    VisionMode.Motion: 1,
    VisionMode.BrightColors: 1,
    VisionMode.OverheadEdges: 1,
    VisionMode.Calibration: 1,
    VisionMode.AutoExp: 1,
    VisionMode.WhiteBalance: 1,
    VisionMode.Stats: 1,
    VisionMode.Pets: 1,
    VisionMode.Lasers: 1,
    VisionMode.OverheadMap: 1,
    VisionMode.Obstacles: 1,
    VisionMode.Benchmark: 1,
    VisionMode.SaveImages: 1,
    VisionMode.People: 1,
    VisionMode.Hands: 1,
    VisionMode.Illumination: 1,
    VisionMode.Viz: 1,
    VisionMode.MirrorMode: 1,
    VisionMode.Markers_Off: 1,
    VisionMode.Markers_ChargerOnly: 1,
    VisionMode.Markers_FullFrame: 1,
    VisionMode.Markers_FullHeight: 1,
    VisionMode.Markers_FullWidth: 1,
    VisionMode.Markers_FastRotation: 1,
    VisionMode.Faces_Expression: 1,
    VisionMode.Faces_Smile: 1,
    VisionMode.Faces_Gaze: 1,
    VisionMode.Faces_Blink: 1,
    VisionMode.Faces_Crop: 1,
    VisionMode.AutoExp_MinGain: 1,
    VisionMode.Offboard: 1,
    VisionMode.AutoExp_Cycling: 0,
    VisionMode.Markers_Composite: 0,
    VisionMode.Count: 1,
    }.get(visionMode, defaultValue)
Anki.Vector.CycleCompletesInOneFrame = CycleCompletesInOneFrame
del CycleCompletesInOneFrame


