diff --git a/src/ve/ucv/ciens/ccg/networkdata/MotorEvent.java b/src/ve/ucv/ciens/ccg/networkdata/MotorEvent.java index 50f1c60..40761b6 100644 --- a/src/ve/ucv/ciens/ccg/networkdata/MotorEvent.java +++ b/src/ve/ucv/ciens/ccg/networkdata/MotorEvent.java @@ -5,7 +5,7 @@ import java.io.Serializable; public class MotorEvent implements Serializable{ private static final long serialVersionUID = 9989L; - public enum motor_t {NONE, MOTOR_A, MOTOR_B, MOTOR_C, MOTOR_AC, RECENTER}; + public enum motor_t {NONE, MOTOR_A, MOTOR_B, MOTOR_C, MOTOR_AC, RECENTER, ROTATE_90}; private motor_t motor; private byte power; diff --git a/src/ve/ucv/ciens/ccg/nxtcam/network/NxtBTCommThread.java b/src/ve/ucv/ciens/ccg/nxtcam/network/NxtBTCommThread.java index f8f4dff..281f96e 100644 --- a/src/ve/ucv/ciens/ccg/nxtcam/network/NxtBTCommThread.java +++ b/src/ve/ucv/ciens/ccg/nxtcam/network/NxtBTCommThread.java @@ -73,11 +73,16 @@ public class NxtBTCommThread extends Thread{ msg[0] |= (event.getMotor() == motor_t.MOTOR_C) ? MotorMasks.MOTOR_C : 0; // Set the direction bit. if(event.getPower() > 0) msg[0] |= MotorMasks.DIRECTION; - // Set the recenter bits. + // Set the recenter bit. msg[0] |= (event.getMotor() == motor_t.RECENTER) ? MotorMasks.RECENTER : 0; if((msg[0] & MotorMasks.RECENTER) > 0) Logger.log_i(TAG, CLASS_NAME + ".run(): Recenter received."); + // Set the rotate bit. + msg[0] |= (event.getMotor() == motor_t.ROTATE_90) ? MotorMasks.ROTATE_90 : 0; + if((msg[0] & MotorMasks.ROTATE_90) > 0) + Logger.log_i(TAG, CLASS_NAME + ".run(): Rotate 90 received."); + // Set the power byte. msg[1] = (byte)Math.abs(event.getPower()); diff --git a/src/ve/ucv/ciens/ccg/nxtcam/network/protocols/MotorMasks.java b/src/ve/ucv/ciens/ccg/nxtcam/network/protocols/MotorMasks.java index 1c0bd61..af6db72 100644 --- a/src/ve/ucv/ciens/ccg/nxtcam/network/protocols/MotorMasks.java +++ b/src/ve/ucv/ciens/ccg/nxtcam/network/protocols/MotorMasks.java @@ -18,7 +18,8 @@ package ve.ucv.ciens.ccg.nxtcam.network.protocols; /** *

Bit masks used to code/decode the control instructions sent by NxtAR-cam to * NxtAR-bot.

- *

Expansions 1-3 are currently unused.

+ * + *

Expansions 2-3 are currently unused.

*/ public abstract class MotorMasks { public static final byte MOTOR_A = (byte)0x01; @@ -26,7 +27,7 @@ public abstract class MotorMasks { public static final byte MOTOR_C = (byte)0x04; public static final byte DIRECTION = (byte)0x08; public static final byte RECENTER = (byte)0x10; - public static final byte EXPANSION_1 = (byte)0x20; - public static final byte EXPANSION_2 = (byte)0x20; - public static final byte EXPANSION_3 = (byte)0x20; + public static final byte ROTATE_90 = (byte)0x20; + public static final byte EXPANSION_2 = (byte)0x40; + public static final byte EXPANSION_3 = (byte)0x80; }