/*@!Encoding:1252*/
variables
{
  //
  // Global variables for the 
  //
  int gLoaderPos = 0;     // Position of the loader
  int gLoaderInc = 10;    // Increase/decrease loader position by this value
  int gBucketPos = 0;     // Position of the bucket
  int gBucketInc = 10;    // Increase/decrease bucket position by this value

}

on preStart
{
}

on start
{
}

void Iso11783IL_OPOnAuxiliaryInput( DWORD objectID, DWORD value1, DWORD value2 )
{
  int numOfTransitions1000 = 0;
  int numOfTransitions1001 = 0;
  int joystik = 0;
  switch(objectID)
  {
    case 1002:
      // Set boolean value
      @sysvar::ISO11783Bus::Loader::OP::OBJ00106_lineBarGraph::value = value1;
      break;

    case 1004:
      // Set analog value
      @sysvar::ISO11783Bus::Loader::OP::OBJ00010_numberVariable::value = value1;
      break;

    case 1005:
      // Set quadrature value
      @sysvar::ISO11783Bus::Loader::OP::OBJ00108_rectangle::height = (value1 * 80) / 65255 + 1 ;
      @sysvar::ISO11783Bus::Loader::OP::OBJ00108_rectangle::width = (value2 * 80) / 65255 + 1;
      break;

    case 1000:
    case 1001:
    {
      if(value1 == 0)//react on the button down only when the button is released
      {
        if(objectID == 1000 && numOfTransitions1000 != value2)
        {
          // Increment integer value
          gLoaderPos += gLoaderInc * (value2 - numOfTransitions1000);
          if (gLoaderPos > 100)
            gLoaderPos = 100;
          numOfTransitions1000 = value2;
          @sysvar::ISO11783Bus::Loader::OP::OBJ00104_lineBarGraph::value = gLoaderPos;
        }
        else if(objectID == 1001 && numOfTransitions1001 != value2)
        {
          // Decrement integer value
          gLoaderPos -= gLoaderInc * (value2 - numOfTransitions1001);
          if (gLoaderPos < 0) 
            gLoaderPos = 0;
          numOfTransitions1001 = value2;
          @sysvar::ISO11783Bus::Loader::OP::OBJ00104_lineBarGraph::value = gLoaderPos;
        }
      }
    }
    break;

    case 1006:
    {
      //forward
      @sysvar::ISO11783Bus::Loader::OP::OBJ01131_container::hidden = 
                (@sysvar::ISO11783Bus::Loader::OP::OBJ01006_auxiliaryFunctionT2::forward == 0);
      //right  
      @sysvar::ISO11783Bus::Loader::OP::OBJ01132_container::hidden = 
                (@sysvar::ISO11783Bus::Loader::OP::OBJ01006_auxiliaryFunctionT2::right == 0);
      //backward  
      @sysvar::ISO11783Bus::Loader::OP::OBJ01133_container::hidden = 
                (@sysvar::ISO11783Bus::Loader::OP::OBJ01006_auxiliaryFunctionT2::backward == 0);
      //left  
      @sysvar::ISO11783Bus::Loader::OP::OBJ01134_container::hidden = 
                (@sysvar::ISO11783Bus::Loader::OP::OBJ01006_auxiliaryFunctionT2::left == 0);
      //middle
      if( (@sysvar::ISO11783Bus::Loader::OP::OBJ01131_container::hidden == 1) && 
          (@sysvar::ISO11783Bus::Loader::OP::OBJ01132_container::hidden == 1) && 
          (@sysvar::ISO11783Bus::Loader::OP::OBJ01133_container::hidden == 1) && 
          (@sysvar::ISO11783Bus::Loader::OP::OBJ01134_container::hidden == 1))
      {
        @sysvar::ISO11783Bus::Loader::OP::OBJ01135_container::hidden = 0;
      }
      else
      {
        @sysvar::ISO11783Bus::Loader::OP::OBJ01135_container::hidden = 1;
      }
    }
    break;
  }
}

on stopMeasurement
{
}

