package nanovm.nibo2.drivers; /** * Encapsulates the information about the wheels rotation. You will have to call * the update Method first to get actual values. All wheel encoder information * is given in ticks, a tick is 1/20 of a whole rotation. * @author Nils Springob */ public class WheelEncoder { /** * maximum value for tick increment */ public static final int MAXIMUM = 32767; /** * minimum value for tick increment */ public static final int MINIMUM = -32768; /** * minimum value for speed */ public static final int MAXIMUM_SPEED = 200; /** * maximum value for speed */ public static final int MINIMUM_SPEED = -200; /** * update wheelencoder data */ public static native void update(); /** * get tick-count from left wheel since last call * @return ticks since last call */ public static native int getLeftInc(); /** * get tick-count from right wheel since last call * @return ticks since last call */ public static native int getRightInc(); /** * get actual speed (ticks/second) from left wheel * @return ticks per second */ public static native int getLeftSpeed(); /** * get actual speed (ticks/second) from right wheel * @return ticks per second */ public static native int getRightSpeed(); /** * enable and disable the wheel-encoder * @param enable true for enable */ public static native void setEnabled(boolean enable); /** * get status of wheel-encoder * @return true when enabled */ public static native boolean getEnabled(); }