/* automobile power window with auto rise/lower */

digraph {
  pad=0.5; bgcolor="lightgrey"; nodesep=1.2;
  node [shape="box"; style="filled";  fillcolor="cyan"];
  edge [labelfontsize=10; minlen=2; labeldistance=3 ];
  WINDOW_STOPPED_ms -> WINDOW_GOING_UP_ma [taillabel="EVT_UP_BUTTON"];
  WINDOW_GOING_UP_ma -> WINDOW_UP_TIMING_ms [taillabel="EVT_BUTTON_RELEASE"];
  WINDOW_UP_TIMING_ms -> WINDOW_STOPPED_ms [taillabel="EVT_TICK && timout"];
  WINDOW_UP_TIMING_ms -> WINDOW_AUTO_UP_ma [taillabel="EVT_UP_BUTTON"];
  WINDOW_AUTO_UP_ma -> WINDOW_STOPPED_ms [taillabel="EVT_MOTOR_SENSE"];  

  WINDOW_STOPPED_ms -> WINDOW_GOING_DN_ma [taillabel="EVT_DN_BUTTON"];
  WINDOW_GOING_DN_ma -> WINDOW_DN_TIMING_ms [taillabel="EVT_BUTTON_RELEASE"];
  WINDOW_DN_TIMING_ms -> WINDOW_STOPPED_ms [taillabel="EVT_TICK && timout"];
  WINDOW_DN_TIMING_ms -> WINDOW_AUTO_DN_ma [taillabel="EVT_UP_BUTTON"];
  WINDOW_AUTO_DN_ma -> WINDOW_STOPPED_ms [taillabel="EVT_MOTOR_SENSE"];  

  WINDOW_GOING_UP_ma -> WINDOW_STOPPED_ms [taillabel="EVT_MOTOR_SENSE"];
  WINDOW_GOING_DN_ma -> WINDOW_STOPPED_ms [taillabel="EVT_MOTOR_SENSE"];
}

