package com.uxxu.konashi.lib.util; import android.bluetooth.BluetoothGattCharacteristic; import com.uxxu.konashi.lib.Konashi; /** * Created by izumin on 11/14/15. */ public final class SpiUtils { public static final String TAG = SpiUtils.class.getSimpleName(); private SpiUtils() { throw new AssertionError("constructor of the utility class should not be called"); } public static boolean isValidMode(int mode) { return isEnabled(mode) || (mode == Konashi.SPI_MODE_DISABLE); } public static boolean isEnabled(int mode) { return (mode == Konashi.SPI_MODE_ENABLE_CPOL0_CPHA0) || (mode == Konashi.SPI_MODE_ENABLE_CPOL0_CPHA1) || (mode == Konashi.SPI_MODE_ENABLE_CPOL1_CPHA0) || (mode == Konashi.SPI_MODE_ENABLE_CPOL1_CPHA1); } public static boolean isValidSpeed(int speed) { return (speed == Konashi.SPI_SPEED_200K) || (speed == Konashi.SPI_SPEED_500K) || (speed == Konashi.SPI_SPEED_1M) || (speed == Konashi.SPI_SPEED_2M) || (speed == Konashi.SPI_SPEED_3M) || (speed == Konashi.SPI_SPEED_6M); } public static boolean isValidEndianness(int endianness) { return (endianness == Konashi.SPI_BIT_ORDER_BIG_ENDIAN) || (endianness == Konashi.SPI_BIT_ORDER_LITTLE_ENDIAN); } public static boolean isTooLongData(int length) { return Konashi.SPI_DATA_MAX_LENGTH < length; } public static boolean isTooShortData(int length) { return length <= 0; } public static byte[] getDataFromResult(byte[] result) { byte data[] = new byte[result.length]; for(int i = 0; i< result.length; i++) { data[i] = (byte)((result[i] & 0xff)); } return data; } }