The error you are getting is **Integer** cannot be converted to **Byte**. It is because explicit conversion between numerical values cannot be done by their Wrapper classes. By (byte)servo1 you are trying to convert a Integer i.e. a wrapper class of int into byte i.e. a primitive type.
Consider the following example :
Long l = 10000000L;
Integer i = (int) l; // Long cannot be converted to int
Byte b = (byte) i; // Integer cannot be converted to byte
To do conversion between wrapper classes you should use methods provided by them :
Long l = 10000000L;
Integer i = l.intValue();
Byte b = i.byteValue();
And to do conversion between primitive primitive type you can do it explicitly as you were trying to do with wrapper classes :
long l = 1000000L;
int i = (int) l;
byte b = (byte) b;
That means your conversion would have worked if you have used primitive types :
int servo1 = 5117;
byte data1;
data1 = (((byte)servo1) >> 6 & (byte)0xFF);
Or if you have used correct method to convert wrapper classes you were using :
Integer servo1 = 5117;
Byte data1;
data1 = (byte)(servo1.byteValue() >> 6 & (byte) 0xFF);