Package org.openpnp.machine.reference.driver.test

Source Code of org.openpnp.machine.reference.driver.test.TestDriver$TestDriverDelegate

package org.openpnp.machine.reference.driver.test;

import java.io.IOException;

import javax.swing.Action;

import org.openpnp.gui.support.Wizard;
import org.openpnp.machine.reference.ReferenceActuator;
import org.openpnp.machine.reference.ReferenceDriver;
import org.openpnp.machine.reference.ReferenceHead;
import org.openpnp.machine.reference.ReferenceHeadMountable;
import org.openpnp.machine.reference.ReferenceNozzle;
import org.openpnp.model.LengthUnit;
import org.openpnp.model.Location;
import org.openpnp.spi.PropertySheetHolder;
import org.simpleframework.xml.Attribute;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class TestDriver implements ReferenceDriver {
    private final static Logger logger = LoggerFactory
            .getLogger(TestDriver.class);
   
    @Attribute(required=false)
    private String dummy;
   
    private Location location = new Location(LengthUnit.Millimeters, 0, 0, 0, 0);
   
    private ReferenceDriver delegate = new TestDriverDelegate();
   
    public void setDelegate(ReferenceDriver delegate) {
        this.delegate = delegate;
    }
   
    @Override
    public Wizard getConfigurationWizard() {
        return null;
    }

    @Override
    public void home(ReferenceHead head) throws Exception {
        logger.debug("home()");
        location = new Location(LengthUnit.Millimeters, 0, 0, 0, 0);
        delegate.home(head);
    }

    @Override
    public void moveTo(ReferenceHeadMountable hm, Location location,
            double speed) throws Exception {
        // Subtract the offsets from the incoming Location. This converts the
        // offset coordinates to driver / absolute coordinates.
        location = location.subtract(hm.getHeadOffsets());

        // Convert the Location to millimeters, since that's the unit that
        // this driver works in natively.
        location = location.convertToUnits(LengthUnit.Millimeters);

        // Get the current location of the Head that we'll move
        Location hl = this.location;
       
        hl = hl.derive(
                Double.isNaN(location.getX()) ? null : location.getX(),
                Double.isNaN(location.getY()) ? null : location.getY(),
                Double.isNaN(location.getZ()) ? null : location.getZ(),
                Double.isNaN(location.getRotation()) ? null : location.getRotation());

        if (!this.location.equals(hl)) {
            this.location = hl;
           
            logger.debug("moveTo({}, {}, {})", new Object[] { hm, this.location, speed });
           
            delegate.moveTo(hm, this.location, speed);
        }
    }

    @Override
    public Location getLocation(ReferenceHeadMountable hm) {
        return location;
    }

    @Override
    public void pick(ReferenceNozzle nozzle) throws Exception {
        logger.debug("pick({} {})", nozzle, nozzle.getNozzleTip());
        delegate.pick(nozzle);
    }

    @Override
    public void place(ReferenceNozzle nozzle) throws Exception {
        logger.debug("place({} {})", nozzle, nozzle.getNozzleTip());
        delegate.place(nozzle);
    }

    @Override
    public void actuate(ReferenceActuator actuator, boolean on)
            throws Exception {
        logger.debug("actuate({}, {})", actuator, on);
        delegate.actuate(actuator, on);
    }

    @Override
    public void actuate(ReferenceActuator actuator, double value)
            throws Exception {
        logger.debug("actuate({}, {})", actuator, value);
        delegate.actuate(actuator, value);
    }

    @Override
    public void setEnabled(boolean enabled) throws Exception {
        logger.debug("setEnabled({})", enabled);
        delegate.setEnabled(enabled);
    }
   
    public static class TestDriverDelegate implements ReferenceDriver {

        @Override
        public Wizard getConfigurationWizard() {
            // TODO Auto-generated method stub
            return null;
        }

        @Override
        public void home(ReferenceHead head) throws Exception {
            // TODO Auto-generated method stub
           
        }

        @Override
        public void moveTo(ReferenceHeadMountable hm, Location location,
                double speed) throws Exception {
            // TODO Auto-generated method stub
           
        }

        @Override
        public Location getLocation(ReferenceHeadMountable hm) {
            // TODO Auto-generated method stub
            return null;
        }

        @Override
        public void pick(ReferenceNozzle nozzle) throws Exception {
            // TODO Auto-generated method stub
           
        }

        @Override
        public void place(ReferenceNozzle nozzle) throws Exception {
            // TODO Auto-generated method stub
           
        }

        @Override
        public void actuate(ReferenceActuator actuator, boolean on)
                throws Exception {
            // TODO Auto-generated method stub
           
        }

        @Override
        public void actuate(ReferenceActuator actuator, double value)
                throws Exception {
            // TODO Auto-generated method stub
           
        }

        @Override
        public void setEnabled(boolean enabled) throws Exception {
            // TODO Auto-generated method stub
           
        }

        @Override
        public String getPropertySheetHolderTitle() {
            // TODO Auto-generated method stub
            return null;
        }

        @Override
        public PropertySheetHolder[] getChildPropertySheetHolders() {
            // TODO Auto-generated method stub
            return null;
        }

        @Override
        public PropertySheet[] getPropertySheets() {
            // TODO Auto-generated method stub
            return null;
        }

        @Override
        public Action[] getPropertySheetHolderActions() {
            // TODO Auto-generated method stub
            return null;
        }
       
        @Override
        public void close() throws IOException {
            // TODO Auto-generated method stub
           
        }
    }

    @Override
    public String getPropertySheetHolderTitle() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public PropertySheetHolder[] getChildPropertySheetHolders() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public PropertySheet[] getPropertySheets() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public Action[] getPropertySheetHolderActions() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public void close() throws IOException {
        // TODO Auto-generated method stub
       
    }
}
TOP

Related Classes of org.openpnp.machine.reference.driver.test.TestDriver$TestDriverDelegate

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.