Skip to content

Commit

Permalink
[bluetooth.am43] null annotations (openhab#13972)
Browse files Browse the repository at this point in the history
* null annotations forbidden package
* improve createChecksum
* spotless + typo

Signed-off-by: lsiepel <leosiepel@gmail.com>
  • Loading branch information
lsiepel authored Dec 27, 2022
1 parent 8b1d0fc commit 1df693a
Show file tree
Hide file tree
Showing 5 changed files with 32 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
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;

Expand Down Expand Up @@ -121,19 +120,27 @@ public static byte getResponseHeader(byte[] response) {
}

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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down

0 comments on commit 1df693a

Please sign in to comment.