//-------------------------------------------------
// NAME: M. Benjamin, MIT CSAIL
// FILE: alpha.moos
//-------------------------------------------------

ServerHost   = localhost
ServerPort   = 9000
Community    = alpha
MOOSTimeWarp = 1

// Forest Lake
LatOrigin  = 43.825300 
LongOrigin = -70.330400 

// MIT Sailing Pavilion (use this one)
// LatOrigin  = 42.358456 
// LongOrigin = -71.087589

//------------------------------------------
// Antler configuration  block
ProcessConfig = ANTLER
{
  MSBetweenLaunches = 200

  Run = MOOSDB        @ NewConsole = false
  Run = pMarineViewer	@ NewConsole = false
  Run = uProcessWatch	@ NewConsole = false
  Run = pNodeReporter	@ NewConsole = false
  Run = pEmulator @ NewConsole = false
  //Run = pLogger       @ NewConsole = false
  Run = pMotionControler   @ NewConsole = false
  Run = pTaskManger   @ NewConsole = false
  Run = pHelmIvP      @ NewConsole = false
}
ProcessConfig = pHelmIvP
{
  AppTick    = 4
  CommsTick  = 4

  behaviors  = alpha.bhv
  domain     = course:0:359:360
  domain     = speed:0:10:101
  domain     = depth:0:100:101

  park_on_allstop = false
  //park_on_allstop = true
  
  
}
ProcessConfig = pTaskManger
{
  AppTick   = 8
  CommsTick = 8
}
ProcessConfig = pEmulator
{
  AppTick   = 5
  CommsTick = 5
  matlab_host = 192.168.0.11
  matlab_port = 8085
  local_port = 8080
  prefix = NAV

  start_x = 10
  start_y = 9
  start_z = 1
  start_heading = 30
}

ProcessConfig = pLogger
{
  AppTick   = 8
  CommsTick = 8

  AsyncLog = true

  // For variables that are published in a bundle on their first post,
  // explicitly declare their logging request
  //Log = IVPHELM_LIFE_EVENT @ 0 NOSYNC
  //Log = REPORT @ 0 NOSYNC
  //Log = BHV_SETTINGS @ 0 NOSYNC
  Log = OPREGION_RESET @ 0 NOSYNC

  LogAuxSrc = true
  WildCardLogging = true
  WildCardOmitPattern = *_STATUS
  WildCardOmitPattern = DB_VARSUMMARY
  WildCardOmitPattern = DB_RWSUMMARY
  WildCardExclusionLog = true
}

//------------------------------------------
// uProcessWatch config block

ProcessConfig = uProcessWatch
{
  AppTick   = 4
  CommsTick = 4

  watch_all = true
	nowatch   = uPokeDB*
	nowatch   = uQueryDB*
	nowatch   = uXMS*
	nowatch   = uMAC*
}

//------------------------------------------
// uSimMarineV22 config block
//------------------------------------------
// pHelmIvP config block

ProcessConfig = pHelmIvP
{
  AppTick    = 4
  CommsTick  = 4

  behaviors  = alpha.bhv
  domain     = course:0:359:360
  domain     = speed:0:10:101
  domain     = depth:0:100:101

  park_on_allstop = false
  //park_on_allstop = true
  
  
}

//------------------------------------------
// pMarinePID config block

ProcessConfig = pMotionControler
{
  AppTick    = 5
  CommsTick  = 5

  verbose       = true
  depth_control = true

  // SIM_INSTABILITY = 20

  // Yaw PID controller
  yaw_pid_kp		 = 10
  yaw_pid_kd		 = 0.0
  yaw_pid_ki		 = 0.01
  yaw_pid_integral_limit = 10

  // Speed PID controller
  speed_pid_kp		 = 20.0
  speed_pid_kd		 = 0.0
  speed_pid_ki		 = 1
  speed_pid_integral_limit = 100

  maxpitch = 15
  maxelevator = 30

  pitch_pid_kp = 1.5
  pitch_pid_kd = 0
  pitch_pid_ki = 1.0
  pitch_pid_integral_limit = 0

  z_to_pitch_pid_kp = 0.12
  z_to_pitch_pid_kd = 0
  z_to_pitch_pid_ki = 0.004
  z_to_pitch_pid_integral_limit = 0.05
  

  //MAXIMUMS MAXRUDDER
  maxrudder    = 30
  maxthrust    = 1525

  // A non-zero SPEED_FACTOR overrides use of SPEED_PID
  // Will set DESIRED_THRUST = DESIRED_SPEED * SPEED_FACTOR
  speed_factor = 0
}

//------------------------------------------
// pMarineViewer config block

ProcessConfig = pMarineViewer
{
  AppTick    = 4
  CommsTick  = 4

  tiff_file            = forrest19.tif
	//tiff_file            = MIT_SP.tif
  vehicles_name_mode = names+depth //+shortmode


  set_pan_x            = -90
  set_pan_y            = -280
  zoom                 = 0.65
  vehicle_shape_scale  = 1.5
  hash_delta           = 50
  hash_shade           = 0.22
  hash_viewable        = true

  trails_point_size   = 1

	//op_vertex = x=-83, y=-47,    lwidth=1,lcolor=yellow,looped=true,group=moa
  //op_vertex = x=-46.4, y=-129.2, lwidth=1,lcolor=yellow,looped=true,group=moa
  //op_vertex = x=94.6, y=-62.2,   lwidth=1,lcolor=yellow,looped=true,group=moa
  //op_vertex = x=58,   y=20,    lwidth=1,lcolor=yellow,looped=true,group=moa

  // Appcast configuration
  appcast_height       = 75
  appcast_width        = 30
  appcast_viewable     = true
  appcast_color_scheme = indigo
  nodes_font_size      = xlarge
  procs_font_size      = xlarge
  appcast_font_size    = large
  
  // datum_viewable = true
  // datum_size     = 18
  // gui_size = small

  // left_context[survey-point] = DEPLOY=true
  // left_context[survey-point] = MOOS_MANUAL_OVERRIDE=false
  // left_context[survey-point] = RETURN=false

  right_context[return] = DEPLOY=true
  right_context[return] = MOOS_MANUAL_OVERRIDE=false
  right_context[return] = RETURN=false

  scope  = RETURN
  scope  = WPT_STAT
  scope  = VIEW_SEGLIST
  scope  = VIEW_POINT
  scope  = VIEW_POLYGON
  scope  = MVIEWER_LCLICK
  scope  = MVIEWER_RCLICK

  button_one = START # START=true
  //button_one = MOOS_MANUAL_OVERRIDE=false
  button_two = STOP # START=false
  //button_two = MOOS_MANUAL_OVERRIDE=true
  button_three = FaultClear # ClearFalut = true
  button_four = SendSecurityZone # SendSaftRules = true


  action  = MENU_KEY=deploy # DEPLOY = true # RETURN = false
  action+ = MENU_KEY=deploy # MOOS_MANUAL_OVERRIDE=false
  action  = RETURN=true
  action  = UPDATES_RETURN=speed=1.4
}

//------------------------------------------
// pNodeReporter config block

ProcessConfig = pNodeReporter
{
  AppTick    = 2
  CommsTick	 = 2

  //platform_type   = kayak
  //更改显示形状为uuv
  platform_type = UUV 
  platform_color  = red
  platform_length = 4
}