//*******************************************************
// ShoreSide Configuration File

ServerHost = localhost
ServerPort = $(SHORE_MOOSDB)
Community  = shoreside

#include plug_origin_warp.moos
  
//-----------------------------------------------------
Processconfig = ANTLER
{
  MSBetweenLaunches = 100

  Run = MOOSDB          @ NewConsole = false
  Run = pMarineViewer   @ NewConsole = false
  Run = pLogger         @ NewConsole = false
  Run = uProcessWatch   @ NewConsole = false

  Run = pShare          @ NewConsole = false
  Run = pHostInfo       @ NewConsole = false
  Run = uFldShoreBroker @ NewConsole = false
  Run = uFldNodeComms   @ NewConsole = false

  Run = uLoadWatch      @ NewConsole = false
  Run = uFldCollisionDetect @ NewConsole = false

}

#include plug_uProcessWatch.moos
#include plug_uLoadWatch.moos

//--------------------------------------------------
// pShare Config Block

ProcessConfig = pShare
{
  AppTick    = 2
  CommsTick  = 2

  input = route =  localhost:$(SHORE_PSHARE)
}

//--------------------------------------------------
// uFldCollisionDetect

ProcessConfig = uFldCollisionDetect
{
  AppTick       = 4
  CommsTick     = 4

  encounter_range = 30
  collision_range = 8
  near_miss_range = 12

  // condition = COLLISION_DETECT=true
  condition = DEPLOY_ALL=true

	report_all_encounters = true

  // collision_flag = COLLISION_$UP_V1_$UP_V2 = $CPA
  collision_flag = COLLISION = $CPA
  near_miss_flag = NEAR_MISS = $CPA
  encounter_flag = ENCOUNTER = $CPA

  near_miss_flag = NEAR_MISS_$UP_V1 = $CPA
  near_miss_flag = NEAR_MISS_$UP_V2 = $CPA
  collision_flag = COLLISION_$UP_V1 = $CPA
  collision_flag = COLLISION_$UP_V2 = $CPA

  pulse_render   = true
  pulse_range    = 20
  pulse_duration = 30
}

//--------------------------------------------------
// uMAC Configuration Block

ProcessConfig = uMAC
{
  AppTick       = 1
  CommsTick     = 1
}

//--------------------------------------------------
// uFldShoreBroker Configuration Block

ProcessConfig = uFldShoreBroker
{
  AppTick       = 1
  CommsTick     = 1

  // Note: [QBRIDGE = FOO]  is shorthand for                    
  //       [BRIDGE = src=FOO_$V,  alias=FOO] and                
  //       [BRIDGE = src=FOO_ALL, alias=FOO]

  qbridge  = DEPLOY, RETURN, STATION_KEEP, NODE_REPORT, NODE_MESSAGE
  qbridge  = MOOS_MANUAL_OVERRIDE, APPCAST_REQ, AVOID, UP_LOITER
  qbridge  = RETURN_UPDATES, BCM_DISPLAY_RADII, MAX_SPEED_UPDATES

	//bridge   = src=MAX_SPD_UPDATES_CHASER, alias=MAX_SPD_UPDATES
	
  bridge   = src=UP_LOITER_$N, alias=UP_LOITER
  bridge   = src=DRIFT_VECTOR_ADD, alias=DRIFT_VECTOR_ADD
  bridge   = src=HELM_MAP_CLEAR, alias=HELM_MAP_CLEAR
}

//--------------------------------------------------
// uFldNodeComms Configuration Block

ProcessConfig = uFldNodeComms
{
  AppTick   = 2
  CommsTick = 2

  comms_range      = 500
  critical_range   = 25
  min_msg_interval = 15
  max_msg_length   = 1000
  groups           = true

  view_node_rpt_pulses = false
}

//--------------------------------------------------
// pHostInfo configuration block from plugin

ProcessConfig = pHostInfo
{
  AppTick    = 1
  CommsTick  = 1
}

//--------------------------------------------------
// pLogger Configuration Block

ProcessConfig = pLogger
{
  AppTick       = 10
  CommsTick     = 10
  
  File          = XLOG_SHORESIDE
  PATH          = ./
  SyncLog       = true @ 0.2
  AsyncLog      = true
  FileTimeStamp = true

  LogAuxSrc     = true

  // Log it all!!!!!
  WildCardLogging = true 

  WildCardOmitPattern = *_STATUS
  WildCardOmitPattern = DB_VARSUMMARY
  WildCardOmitPattern = DB_RWSUMMARY

  WildCardOmitPattern = PSHARE* 
  WildCardOmitPattern = *_ITER_GAP
  WildCardOmitPattern = *_ITER_LEN
  WildCardOmitPattern = DB_QOS
}


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

  circle_viewable_all  = false
  
  appcast_viewable     = true
  appcast_color_scheme = indigo
	appcast_font_size    = xlarge
  procs_font_size      = xlarge
  nodes_font_size      = xlarge

  stale_report_thresh = 10
  stale_remove_thresh = 18

  nodes_font_size      = large
  procs_font_size      = large
  appcast_font_size    = large
	
  scope = DEPLOY_ALL

  action = STATION_KEEP_ALL = false
  action = STATION_KEEP_ALL = true

  action = MAX_SPEED_UPDATES_CHASER = max_speed=1.0
  action = MAX_SPEED_UPDATES_CHASER = max_speed=1.5
  action = MAX_SPEED_UPDATES_CHASER = max_speed=2.0
  action = MAX_SPEED_UPDATES_CHASER = max_speed=2.5
  action = MAX_SPEED_UPDATES_CHASER = max_speed=3.0
  action = MAX_SPEED_UPDATES_CHASER = max_speed=3.3
  action = MAX_SPEED_UPDATES_CHASER = max_speed=3.5
  action = MAX_SPEED_UPDATES_CHASER = max_speed=3.8	
	
  button_one   = DEPLOY  # DEPLOY_ALL=true 
  button_one   = MOOS_MANUAL_OVERRIDE_ALL=false 
  button_one   = AVOID_ALL=true
  button_one   = RETURN_ALL=false # STATION_KEEP_ALL=false

  button_two   = RETURN  # RETURN_ALL=true
  button_two   = RETURN  # STATION_KEEP_ALL=false
  button_three = PERMUTE   # UTS_FORWARD=0
  button_four  = STATION   # STATION_KEEP_ALL=true

}