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

#include ./plug_origin_warp.moos

//------------------------------------------------
ProcessConfig = ANTLER
{
  MSBetweenLaunches = 100

  Run = MOOSDB             @ NewConsole = false
  Run = pLogger            @ NewConsole = false
  Run = uProcessWatch      @ NewConsole = false
  Run = pShare             @ NewConsole = false
  Run = pNodeReporter      @ NewConsole = false
  Run = pMarinePID         @ NewConsole = false
  Run = pHelmIvP           @ NewConsole = false
  Run = pContactMgrV20     @ NewConsole = false
  Run = pHostInfo          @ NewConsole = false
  Run = uFldNodeBroker     @ NewConsole = false
  Run = pDeadManPost       @ NewConsole = false
  Run = uFldMessageHandler @ NewConsole = false
	Run = pRealm          @ NewConsole = false
  Run = pRangeEvent        @ NewConsole = false

#ifdef XMODE SIM
  Run = uSimMarineV22      @ NewConsole = false
#elseifdef XMODE M300
  Run = iM300X             @ NewConsole = false
#endif
}

#ifdef XMODE SIM
  #include plug_uSimMarineV22.moos
#elseifdef XMODE M300
  #include plug_iM300X.moos
#endif

#include plug_pShare.moos
#include plug_pHostInfo.moos
#include plug_uProcessWatch.moos
	
//-----------------------------------------------
// pHelmIvP Config Block

ProcessConfig = pHelmIvP
{
  AppTick    = 4
  CommsTick  = 4

	app_logging = true
	
  behaviors   = targ_$(VNAME).bhv
  verbose     = false
  domain      = course:0:359:360
  domain      = speed:0:1.8:37

	hold_on_app = pContactMgrV20
	goals_mandatory = true

}

//----------------------------------------------- 
// pContactMgrV20 config block
	
ProcessConfig = pContactMgrV20
{
  AppTick   = 2
  CommsTick = 2

  decay = 30,60

  alert_verbose = true

  post_all_ranges = true

	//hold_alerts_for_helm = true
	
  contact_max_age = 35
  display_radii_id = avd
  display_radii = false
  alert_range_color = gray70
  cpa_range_color   = gray30

  //default_alert_range = 50
  //default_cpa_range   = 35
  //default_alert_range_color = gray70
  //default_cpa_range_color   = gray30

  //alert = id=trail, var=TRAIL_INFO, val="name=$[VNAME] # contact=mokai", alert_range=140

	}


//---------------------------------------
// iSay Config Block

ProcessConfig = iSay                                            
{                                                               
  AppTick   = 4                                                 
  CommsTick = 4                                                 
                                                                
  //default_voice      = alex       // iSay --voices for others   
  default_rate       = 200                                      
  interval_policy    = from_end   // or from_start              
  min_utter_interval = 1                                        
                                                                
  os_mode            = osx        // linux or [osx]
}

//--------------------------------------------------
// pLogger Config Block
	
ProcessConfig = pLogger
{
  AppTick     = 10
  CommsTick   = 10

  File          = LOG_%(VNAME)
  PATH          = ./
  AsyncLog      = true
  FileTimeStamp = true

  Log = IVPHELM_LIFE_EVENT @ 0 nosync
  Log = BCM_ALERT_REQUEST  @ 0 nosync

  // Log it all!!!!!
  LogAuxSrc = true
  WildCardLogging = true
  WildCardOmitPattern = *_STATUS
  WildCardOmitPattern = *_ITER_GAP
  WildCardOmitPattern = *_ITER_LEN
  WildCardOmitPattern = *_OVER_GROUND
  WildCardOmitPattern = DB_VARSUMMARY
  WildCardOmitPattern = DB_RWSUMMARY
  WildCardOmitPattern = APPCAST
  WildCardOmitPattern = NAV_Z
  WildCardOmitPattern = NAV_PITCH
  WildCardOmitPattern = DB_QOS

  //WildCardOmitPattern = BHV_IPF
}

//---------------------------------------
// pNodeReporter Config Block
	
ProcessConfig = pNodeReporter
{
  AppTick     = 2
  CommsTick   = 2

  vessel_type = $(VTYPE)
  group       = $(VTEAM)
  platform_color = $(VTEAM)

	//platform_color = $(COLOR)
  //vessel_type = kayak
}


//--------------------------------------------------
// uFldMessageHandler Config Block
	
ProcessConfig = uFldMessageHandler
{
  AppTick   = 3
  CommsTick = 3

  strict_addressing = true
}

//--------------------------------------------------
// uFldNodeBroker Config Block

ProcessConfig = uFldNodeBroker
{
  AppTick   = 1
  CommsTick = 1

	app_logging = true
	
  try_shore_host = pshare_route=$(SHORE_IP):$(SHORE_PSHARE)
  //try_shore_host = pshare_route=$(SHORE_IP):$(SHORE_LISTEN)

	// Common locations worth trying
	//try_shore_host = pshare_route=192.168.1.37:9200

  bridge = src=VIEW_POLYGON
  bridge = src=VIEW_POINT
  bridge = src=VIEW_SEGLIST
  bridge = src=VIEW_CIRCLE
  bridge = src=AVDCOL_MODE
  bridge = src=FLAG_GRAB_REQUEST
  bridge = src=TAG_REQUEST
  bridge = src=APPCAST
  bridge = src=NODE_REPORT_LOCAL,  alias=NODE_REPORT
  bridge = src=NODE_MESSAGE_LOCAL, alias=NODE_MESSAGE

}

//---------------------------------------
// pMarinePIDV22 Config Block
	
ProcessConfig = pMarinePID
{
  AppTick    = 10
  CommsTick  = 10

	app_logging = true

	deprecated = true
	
	deprecated_ok = true
	
  verbose       = true
  depth_control = false
  active_start  = true

#ifdef XMODE SIM
  yaw_pid_kp     = 1.2
  yaw_pid_kd     = 0.0
  yaw_pid_ki     = 0.3
  yaw_pid_integral_limit = 0.07
#elseifdef XMODE M300
  // Yaw PID controller (Set for M300)
  yaw_pid_kp             = 0.9 
  yaw_pid_kd             = 0.6 
  yaw_pid_ki             = 0.3  
  yaw_pid_integral_limit = 0.3 
#endif

  // Speed PID controller BETA
  //speed_pid_kp           = 0.9
  //speed_pid_kd           = 0.5
  //speed_pid_ki           = 0.05
  //speed_pid_integral_limit = 0.07

  // Speed PID controller DEFAULT
  speed_pid_kp           = 1.0
  speed_pid_kd           = 0.0
  speed_pid_ki           = 0.0
  speed_pid_integral_limit = 0.07

  // Maximums
  maxrudder  = 100 // 100
  maxthrust  = 100

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

//------------------------------------------------
// pRangeEvent config block

ProcessConfig = pRangeEvent
{
  AppTick   = 4
  CommsTick = 4

  // Range within which the event is triggered
  min_range = 0   // default
  max_range = 40  // default

	ignore_group = $(VTEAM)

  event_var = TAG_REQUEST=vname=$[SELFVNAME]
}

//------------------------------------------
ProcessConfig = pDeadManPost
{
  AppTick   = 4
  CommsTick = 4

  heartbeat_var   = HEARTBEAT
  max_noheart     = 15
  post_policy     = reset
  active_at_start = false
  deadflag        = DEPLOY = false
 }