# task_Housekeeping.dot
#
# N.B.  Although dot(1) doesn't care (much) about white space,
#       bin/idf_d2d DOES.  So, check before editing...
#
# Written by Rich Morin <rdm@slac.stanford.edu>

digraph G {
  label="\nCommand from Spacecraft (involving LAT)\nHousekeeping (Composite)\n"
  margin="0.1"
  node[ fontname="Arial", fontsize="10" ];
  rankdir="LR";
  ranksep="0.2";

  { rank=same;
    HM           [ style="solid,filled",
                   shape="ellipse",       label="HSK Master",
                   URL="#",
                   tooltip="Housekeeping Master task"             ];

    HM_metric    [ style="solid",
                   shape="box",           label="CPU metric",
                   URL="#",
                   tooltip="CPU metric messages from Slave tasks" ];

    HS           [ style="solid",
                   shape="ellipse",       label="HSK Slaves",
                   URL="#",
                   tooltip="Housekeeping Slave tasks"             ];
  }

    HM_command   [ style="bold,filled",
                   shape="box",           label="Command",
                   URL="#",
                   tooltip="received Command packet"              ];

    HM_response  [ style="solid,filled",
                   shape="box",           label="Response",
                   URL="#",
                   tooltip="response data from LAT"               ];

    LI           [ style="solid,filled",
                   shape="doubleoctagon", label="LAT\nInstrument",
                   URL="#",
                   tooltip="LAT Instrument"                       ];

    LI_inquiry   [ style="solid,filled",
                   shape="box",           label="Inquiry",
                   URL="#",
                   tooltip="Housekeeping Inquiry to LAT"          ];

    SC           [ style="bold,filled",
                   shape="doubleoctagon", label="Spacecraft",
                   URL="#",
                   tooltip="Spacecraft"                           ];

    SC_report    [ style="solid,filled",
                   shape="box",           label="Report",
                   URL="#",
                   tooltip="Housekeeping report packet"           ];

  HM           -> LI_inquiry	[ style="solid" ];
  HM           -> SC_report	[ style="solid" ];
  HM_command   -> HM		[ style="solid" ];
  HM_metric    -> HM		[ style="solid" ];
  HM_response  -> HM		[ style="solid" ];
  HS           -> HM_metric	[ style="solid" ];
  LI           -> HM_response	[ style="solid" ];
  LI_inquiry   -> LI		[ style="solid" ];
  SC           -> HM_command	[ style="bold" ];
  SC_report    -> SC		[ style="solid" ];
}
