/****************************************************************************/
/*                                                                          */
/* Description: Node Capability file created using Vector's LIN File Editor */
/* Created:     xx.xx.xxxx                                                  */
/* Author:                                                                  */
/* Version:     0.1                                                         */
/* Project:                                                                 */
/*                                                                          */
/****************************************************************************/

node_capability_file;

LIN_language_version = "ISO17987:2015";

node VectorSlave_ISO {
 general {
  LIN_protocol_version = "ISO17987:2015";
  supplier = 0x1e;
  function = 0x2;
  variant = 1;
  bitrate = 19.2 kbps;
  sends_wake_up_signal = "yes";
 }
 diagnostic {
  NAD = 0x5;
  diagnostic_class = 1;
 }
 frames {
  subscribe MotorControl {
   length = 8;
   signals {
    signal1 {init_value = 16; size = 16; offset = 16;
             encoding1;
    }
   }
  }
  subscribe MotorQuery {
   length = 5;
   signals {
    sig_MotorQuery1 {init_value = {5, 4, 3, 2, 1}; size = 40; offset = 0;
    }
   }
  }
  publish MotorState_Cycl {
   length = 8;
   event_triggered_frame = ETF_MotorState_Cycl;
   signals {
    MotorTemp {init_value = 0; size = 8; offset = 8;
               encTemperature;
    }
    MotorLinError {init_value = 0; size = 1; offset = 40;
                   encError;
    }
   }
  }
  publish ETF_MotorState_Cycl {
   length = 8;
  }
  publish MotorState_Event {
   length = 3;
   event_triggered_frame = ETF_MotorState_Event;
   signals {
    sigMotorState1 {init_value = 0; size = 8; offset = 8;
                    encState;
    }
   }
  }
  publish ETF_MotorState_Event {
   length = 3;
  }
 }
 encoding {
  encoding1 {
  physical_value, 0, 200, 1.000, 0.000, "temperature";
  logical_value, 255, "invalid";
  }
  encTemperature {
  physical_value, 0, 200, 0.500, -20.000, "Degree";
  }
  encError {
  logical_value, 0, "No Error";
  logical_value, 1, "Response Error";
  }
  encState {
  physical_value, 0, 200, 0.500, -20.000, "";
  }
 }
 status_management {
  error_response = MotorLinError;
 }
}

