Skip to content

Document D-Lab Powerbox #91

Description

@blackspherefollower

BLE Name: D-LAB ESTIM01

Service UUID: 955a180a-0fe2-f5aa-a094-84b8d4f3e8ad

Rx Characteristic UUID: 955a1500-0fe2-f5aa-a094-84b8d4f3e8ad (Handle: 12 0x0c)
Purpose: Battery?

public class d {
    public static int[] a(byte[] bArr) {
        if (bArr == null || bArr.length == 0) {
            return new int[]{0, 0};
        }
        String e2 = e(d(bArr));
        String substring = new String(e2).substring(5, 16);
        String str = new String(e2);
        return new int[]{Integer.parseInt(substring, 2), Integer.parseInt(str.substring(16), 2)};
    }

    public static int[] b(byte[] bArr) {
        if (bArr == null || bArr.length == 0) {
            return new int[]{0, 0};
        }
        String e2 = e(d(bArr));
        StringBuilder sb = new StringBuilder();
        sb.append("====== ");
        sb.append(e2);
        Log.e("yuyu", sb.toString());
        String substring = new String(e2).substring(2, 13);
        return new int[]{Integer.parseInt(new String(e2).substring(13), 2) / b.f360b, Integer.parseInt(substring, 2) / b.f360b};
    }

    public static int c(byte[] bArr) {
        if (bArr.length == 1) {
            return Integer.parseInt(a(bArr[0]), 2);
        }
        return -1;
    }

    // flip endian
    private static byte[] d(byte[] bArr) {
        byte b2 = bArr[0];
        bArr[0] = bArr[2];
        bArr[2] = b2;
        return bArr;
    }

    // byte to binary string
    private static String a(byte b2) {
        StringBuilder sb = new StringBuilder();
        sb.append("");
        sb.append((byte) ((b2 >> 7) & 1));
        sb.append((byte) ((b2 >> 6) & 1));
        sb.append((byte) ((b2 >> 5) & 1));
        sb.append((byte) ((b2 >> 4) & 1));
        sb.append((byte) ((b2 >> 3) & 1));
        sb.append((byte) ((b2 >> 2) & 1));
        sb.append((byte) ((b2 >> 1) & 1));
        sb.append((byte) ((b2 >> 0) & 1));
        return sb.toString();
    }

    // bytes to binary string
    private static String e(byte[] bArr) {
        String str = "";
        for (byte a2 : bArr) {
            StringBuilder sb = new StringBuilder();
            sb.append(str);
            sb.append(a(a2));
            str = sb.toString();
        }
        return str;
    }
}

public void a(byte[] bArr) {
                int c = d.c(bArr);
                StringBuilder sb = new StringBuilder();
                sb.append("electric = ");
                sb.append(c);
                Log.e("electric", sb.toString());
            }

Rx Characteristic UUID: 955a1501-0fe2-f5aa-a094-84b8d4f3e8ad (Handle: 15 0x0f)
Purpose: ?

Rx Characteristic UUID: 955a1502-0fe2-f5aa-a094-84b8d4f3e8ad (Handle: 17 0x11)
Purpose: BT MAC

Service UUID: 955a180b-0fe2-f5aa-a094-84b8d4f3e8ad

Rx Characteristic UUID: 955a1504-0fe2-f5aa-a094-84b8d4f3e8ad (Handle: 22 0x16)
Purpose: Read power levels? 3 bytes 0=b-power 1=a-power 2=unused?

Characteristic UUID: 955a1505-0fe2-f5aa-a094-84b8d4f3e8ad (Handle: 25 0x19)
Purpose: ?

Characteristic UUID: 955a1506-0fe2-f5aa-a094-84b8d4f3e8ad (Handle: 27 0x1b)
Purpose: ?

Characteristic UUID: 955a1507-0fe2-f5aa-a094-84b8d4f3e8ad (Handle: 29 0x1d)
Purpose: Gets divider?

        public void a(byte[] bArr) {
                int[] a2 = d.a(bArr);
                com.bjsm.dungeonlab.global.b.f359a = a2[0];
                com.bjsm.dungeonlab.global.b.f360b = a2[1];
                BlueToothService.this.e.postDelayed(new Runnable() {
                    public void run() {
                        BlueToothService.this.a(0, 0);
                    }
                }, 100);
            }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions