mirror of
https://github.com/openhab/openhab-addons.git
synced 2025-01-10 15:11:59 +01:00
[bluetooth.am43] null annotations (#13972)
* null annotations forbidden package * improve createChecksum * spotless + typo Signed-off-by: lsiepel <leosiepel@gmail.com>
This commit is contained in:
parent
8b1d0fccef
commit
1df693a6e9
@ -12,14 +12,17 @@
|
||||
*/
|
||||
package org.openhab.binding.bluetooth.am43.internal;
|
||||
|
||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||
|
||||
/**
|
||||
* Configuration class for AM43 Binding.
|
||||
*
|
||||
* @author Connor Petty - Initial contribution
|
||||
*/
|
||||
@NonNullByDefault
|
||||
public class AM43Configuration {
|
||||
|
||||
public String address;
|
||||
public String address = "";
|
||||
public int refreshInterval;
|
||||
public boolean invertPosition;
|
||||
public int commandTimeout;
|
||||
|
@ -18,7 +18,6 @@ import java.util.concurrent.locks.Condition;
|
||||
import java.util.concurrent.locks.Lock;
|
||||
import java.util.concurrent.locks.ReentrantLock;
|
||||
|
||||
import org.apache.commons.lang3.ArrayUtils;
|
||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||
import org.eclipse.jdt.annotation.Nullable;
|
||||
|
||||
@ -121,19 +120,27 @@ public abstract class AM43Command {
|
||||
}
|
||||
|
||||
public byte[] getRequest() {
|
||||
byte[] value = ArrayUtils.EMPTY_BYTE_ARRAY;
|
||||
value = ArrayUtils.add(value, HEADER_PREFIX);
|
||||
value = ArrayUtils.add(value, header);
|
||||
value = ArrayUtils.add(value, (byte) data.length);
|
||||
value = ArrayUtils.addAll(value, data);
|
||||
value = ArrayUtils.add(value, createChecksum(value));
|
||||
return ArrayUtils.addAll(REQUEST_PREFIX, value);
|
||||
byte[] value = new byte[4 + data.length + REQUEST_PREFIX.length];
|
||||
System.arraycopy(REQUEST_PREFIX, 0, value, 0, REQUEST_PREFIX.length);
|
||||
value[REQUEST_PREFIX.length] = HEADER_PREFIX;
|
||||
value[REQUEST_PREFIX.length + 1] = header;
|
||||
value[REQUEST_PREFIX.length + 2] = (byte) data.length;
|
||||
System.arraycopy(data, 0, value, REQUEST_PREFIX.length + 3, data.length);
|
||||
value[value.length - 1] = createChecksum(value, REQUEST_PREFIX.length, 3 + data.length);
|
||||
return value;
|
||||
}
|
||||
|
||||
protected byte createChecksum(byte[] data) {
|
||||
// this is a basic checksum
|
||||
byte crc = data[0];
|
||||
for (int i = 1; i < data.length; i++) {
|
||||
/**
|
||||
* A basic method to calculate the checksum
|
||||
*
|
||||
* @param data source for the checksum calculation
|
||||
* @param startIndex the zero-based start index to include in the calculation
|
||||
* @param length the length of the range to include in the calculation
|
||||
* @return the CRC-checksum result in {@link byte}
|
||||
*/
|
||||
protected byte createChecksum(byte[] data, int startIndex, int length) {
|
||||
byte crc = data[startIndex];
|
||||
for (int i = startIndex + 1; i < startIndex + length; i++) {
|
||||
crc ^= data[i];
|
||||
}
|
||||
return crc;
|
||||
|
@ -12,12 +12,15 @@
|
||||
*/
|
||||
package org.openhab.binding.bluetooth.am43.internal.data;
|
||||
|
||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||
|
||||
/**
|
||||
* The {@link ControlAction} list possible controls actions that can be sent through
|
||||
* {@link org.openhab.binding.bluetooth.am43.internal.command.ControlCommand}
|
||||
*
|
||||
* @author Connor Petty - Initial contribution
|
||||
*/
|
||||
@NonNullByDefault
|
||||
public enum ControlAction {
|
||||
CLOSE(0xee),
|
||||
OPEN(0xdd),
|
||||
|
@ -12,11 +12,14 @@
|
||||
*/
|
||||
package org.openhab.binding.bluetooth.am43.internal.data;
|
||||
|
||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||
|
||||
/**
|
||||
* This is an enum representing possible motor direction settings
|
||||
*
|
||||
* @author Connor Petty - Initial contribution
|
||||
*/
|
||||
@NonNullByDefault
|
||||
public enum Direction {
|
||||
Forward(0x1),
|
||||
Reverse(0x0);
|
||||
|
@ -12,11 +12,14 @@
|
||||
*/
|
||||
package org.openhab.binding.bluetooth.am43.internal.data;
|
||||
|
||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||
|
||||
/**
|
||||
* This is an enum representing possible motor modes settings
|
||||
*
|
||||
* @author Connor Petty - Initial contribution
|
||||
*/
|
||||
@NonNullByDefault
|
||||
public enum OperationMode {
|
||||
Inching(0x1),
|
||||
Continuous(0x0);
|
||||
|
Loading…
Reference in New Issue
Block a user