ServerHost = localhost
ServerPort = $(VPORT)
Community  = $(VNAME)

#include plugs.moos <origin_warp>
  
//------------------------------------------------------------
Processconfig = ANTLER
{
  MSBetweenLaunches = 200
   
  Run = MOOSDB             @ NewConsole = false
  Run = pRealm             @ NewConsole = false
  Run = uSimMarineV22      @ NewConsole = false
  Run = pShare             @ NewConsole = false
  Run = pLogger            @ NewConsole = false
  Run = pNodeReporter      @ NewConsole = false
  Run = pMarinePIDV22      @ NewConsole = false
  Run = pHelmIvP           @ NewConsole = false
  Run = uProcessWatch      @ NewConsole = false
  Run = pHostInfo          @ NewConsole = false
  Run = uFldNodeBroker     @ NewConsole = false
#ifdef GUI yes
	Run = pMarineViewer      @ NewConsole = false
#endif
}

#include plugs.moos <pShare>
#include plugs.moos <pHostInfo>
#include plugs.moos <uProcessWatch>

#ifdef GUI yes
	#include plugs.moos <pMarineViewer>
#endif

	
//--------------------------------------------------
// uFldNodeBroker config block

ProcessConfig = uFldNodeBroker
{
  AppTick   = 1
  CommsTick = 1

  try_shore_host = pshare_route=$(SHORE_IP):$(SHORE_PSHARE)

  bridge = src=VIEW_POLYGON
  bridge = src=VIEW_POINT
  bridge = src=VIEW_SEGLIST

  bridge = src=APPCAST

  bridge = src=NODE_REPORT_LOCAL,  alias=NODE_REPORT
  bridge = src=NODE_MESSAGE_LOCAL, alias=NODE_MESSAGE
}

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

ProcessConfig = uSimMarineV22
{
  AppTick   = 10
  CommsTick = 10

  start_pos = $(START_POS), 180, 0
  prefix    = NAV
}

//-----------------------------------------------------
// pMarinePIDV22 config block

ProcessConfig = pMarinePIDV22
{
  AppTick    = 10
  CommsTick  = 10
  
  VERBOSE       = true
  DEPTH_CONTROL = false
  ACTIVE_START  = true
  
  // Yaw PID controller
  YAW_PID_KP             = 1.4
  YAW_PID_KD             = 0.1
  YAW_PID_KI             = 0.0
  YAW_PID_INTEGRAL_LIMIT = 0.07
  
  // Speed PID controller
  SPEED_PID_KP           = 1.0
  SPEED_PID_KD           = 0.0
  SPEED_PID_KI           = 0.0
  SPEED_PID_INTEGRAL_LIMIT = 0.07
  
  // Maximums
  MAXRUDDER  = 100
  MAXTHRUST  = 100
  
  // A non-zero SPEED_FACTOR overrides use of SPEED_PID
  // Will set DESIRED_THRUST = DESIRED_SPEED * SPEED_FACTOR
  SPEED_FACTOR = 20
}

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

ProcessConfig = pNodeReporter
{
  AppTick     = 2
  CommsTick   = 2
  
  vessel_type = KAYAK
}

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

ProcessConfig = pHelmIvP
{
  AppTick    = 4
  CommsTick  = 4

  ok_skew      = any
  
  behaviors    = targ_$(VNAME).bhv  
  verbose      = false
  domain       = course:0:359:360
  domain       = speed:0:5:26
}

//--------------------------------------------------
// pLogger config block

ProcessConfig = pLogger
{
  AppTick 	= 10
  CommsTick 	= 10
  
  File		= LOG_%(VNAME)
  PATH		= ./
  SyncLog 	= true @ 0.2
  AsyncLog 	= true
  FileTimeStamp = true

  Log = IVPHELM_LIFE_EVENT @ 0 nosync

  // Log it all!!!!!
  LogAuxSrc = true
  WildCardLogging = true 
  LoggingDirectorySummaryFile = ~/.pLogger_%(VNAME)

  CompressAlogs = false
}

#ifdef GUI yes
//----------------------------------------------------
ProcessConfig = pMarineViewer
{
  AppTick    = 4
  CommsTick  = 4

  tiff_file            = forrest19.tif
  set_pan_x            = -90
  set_pan_y            = -280
  zoom                 = 0.65
  vehicles_shape_scale = 1.5
  vehicles_name_mode   = names+shortmode

  // 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    = xlarge

  scope = PSHARE_INPUT_SUMMARY

  action = STATION_ALL = false
  action = STATION_ALL = true

  button_one   = DEPLOY  # DEPLOY=true 
  button_one   = MOOS_MANUAL_OVERRIDE=false 
  button_one   = RETURN=false
  button_two   = RETURN  # RETURN=true
  button_three = STATION:T  # STATION=true
  button_four  = STATION:F  # STATION=false
}
#endif