Package com.grt192.mechanism.cannonbot

Source Code of com.grt192.mechanism.cannonbot.CBArm

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package com.grt192.mechanism.cannonbot;

import com.grt192.actuator.GRTTwoWaySolenoid;
import com.grt192.core.Mechanism;
import com.grt192.mechanism.GRTCompressor;
import com.grt192.core.Command;

/**
*
* @author nikhil
*/
public class CBArm extends Mechanism {

  public static final int SLEEP_TIME = 50;
  public static final int TIMEOUT_LENGTH = 2000;

  private GRTTwoWaySolenoid extenderSolenoid;
  private GRTCompressor compressor;
  private boolean extended;
  private boolean toggling;

  public CBArm(int exsolpin1, int exsolpin2, GRTCompressor compressor) {
    this(new GRTTwoWaySolenoid(exsolpin1, exsolpin2), compressor);
  }

  public CBArm(GRTTwoWaySolenoid exsol, GRTCompressor compressor) {
    extended = toggling = false;
    this.extenderSolenoid = exsol;
    extenderSolenoid.start();
    this.compressor = compressor;
    if(!compressor.isStarted())
      compressor.startCompressor();
    addActuator("exsol", extenderSolenoid);
  }

  public boolean isExtended() {
    return extended;
  }

  // Actions

  public void toggleArm() {
    long startTime = System.currentTimeMillis();
    toggling = true;

    if (extended) {
      retract();// Change
      // if
      // opposite
    } else {
      retract(); // Change
      // if
      // opposite
    }
   
  }

  public void extend() {
    extenderSolenoid.enqueueCommand(GRTTwoWaySolenoid.REVERSE); // Change
    extended = true;
  }

  public void retract() {
    extenderSolenoid.enqueueCommand(GRTTwoWaySolenoid.FORWARD); // Change
    extended = false;
  }

        public void punch() {
            extenderSolenoid.enqueueCommand(new Command(GRTTwoWaySolenoid.REVERSE, 3000)); //punch
            extenderSolenoid.enqueueCommand(GRTTwoWaySolenoid.FORWARD);//retract
            extended = false;
           
        }


  protected void block() {
    try {
      Thread.sleep(SLEEP_TIME);
    } catch (InterruptedException ie) {
      ie.printStackTrace(); // if this happens i wanna know pretty
      // badly.
    }
  }

  public boolean isToggling() {
    return toggling;
  }

}
TOP

Related Classes of com.grt192.mechanism.cannonbot.CBArm

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.