1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-06-02 03:16:07 +02:00
Gadgetbridge/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/lefun/LefunConstants.java
2020-10-10 22:03:46 +02:00

97 lines
4.3 KiB
Java

/* Copyright (C) 2016-2020 Andreas Shimokawa, Carsten Pfeiffer, Daniele
Gobbetti
Copyright (C) 2020 Yukai Li
This file is part of Gadgetbridge.
Gadgetbridge is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Gadgetbridge is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.lefun;
import java.util.UUID;
import static nodomain.freeyourgadget.gadgetbridge.service.btle.AbstractBTLEDeviceSupport.BASE_UUID;
public class LefunConstants {
// BLE UUIDs
public static final UUID UUID_SERVICE_LEFUN = UUID.fromString(String.format(BASE_UUID, "18D0"));
public static final UUID UUID_CHARACTERISTIC_LEFUN_WRITE = UUID.fromString(String.format(BASE_UUID, "2D01"));
public static final UUID UUID_CHARACTERISTIC_LEFUN_NOTIFY = UUID.fromString(String.format(BASE_UUID, "2D00"));
// Coordinator constants
public static final String ADVERTISEMENT_NAME = "Lefun";
public static final String MANUFACTURER_NAME = "Teng Jin Da";
public static int NUM_ALARM_SLOTS = 5;
// Commands
public static final byte CMD_REQUEST_ID = (byte)0xab;
public static final byte CMD_RESPONSE_ID = 0x5a;
public static final int CMD_MAX_LENGTH = 20;
// 3 header bytes plus checksum
public static final int CMD_HEADER_LENGTH = 4;
public static final byte CMD_FIRMWARE_INFO = 0x00;
public static final byte CMD_BONDING_REQUEST = 0x01;
public static final byte CMD_SETTINGS = 0x02;
public static final byte CMD_BATTERY_LEVEL = 0x03;
public static final byte CMD_TIME = 0x04;
public static final byte CMD_ALARM = 0x05;
public static final byte CMD_PROFILE = 0x06;
public static final byte CMD_UI_PAGES = 0x07;
public static final byte CMD_FEATURES = 0x08;
public static final byte CMD_FIND_DEVICE = 0x09;
public static final byte CMD_FIND_PHONE = 0x0a;
public static final byte CMD_SEDENTARY_REMINDER_INTERVAL = 0x0b;
public static final byte CMD_HYDRATION_REMINDER_INTERVAL = 0x0c;
public static final byte CMD_REMOTE_CAMERA = 0x0d;
public static final byte CMD_REMOTE_CAMERA_TRIGGERED = 0x0e;
public static final byte CMD_PPG_START = 0x0f;
public static final byte CMD_PPG_RESULT = 0x10;
public static final byte CMD_PPG_DATA = 0x11;
public static final byte CMD_STEPS_DATA = 0x12;
public static final byte CMD_ACTIVITY_DATA = 0x13;
public static final byte CMD_SLEEP_TIME_DATA = 0x14;
public static final byte CMD_SLEEP_DATA = 0x15;
public static final byte CMD_NOTIFICATION = 0x17;
public static final byte CMD_LANGUAGE = 0x21;
public static final byte CMD_UNKNOWN_22 = 0x22;
public static final byte CMD_UNKNOWN_25 = 0x25;
public static final byte CMD_UNKNOWN_80 = (byte)0x80;
public static final int PPG_TYPE_INVALID = -1;
public static final int PPG_TYPE_HEART_RATE = 0;
public static final int PPG_TYPE_BLOOD_PRESSURE = 1;
public static final int PPG_TYPE_BLOOD_OXYGEN = 2;
public static final int PPG_TYPE_COUNT = 3;
// Extended DB types
public static final int DB_SAMPLE_TYPE_PPG = 1;
public static final int DB_SAMPLE_TYPE_SLEEP_DAY = 2;
public static final int DB_SAMPLE_TYPE_SLEEP_PERIODS = 3;
// DB activity kinds
public static final int DB_ACTIVITY_KIND_UNKNOWN = 0;
public static final int DB_ACTIVITY_KIND_ACTIVITY = 1;
public static final int DB_ACTIVITY_KIND_HEART_RATE = 2;
public static final int DB_ACTIVITY_KIND_LIGHT_SLEEP = 3;
public static final int DB_ACTIVITY_KIND_DEEP_SLEEP = 4;
// Pseudo-intensity
public static final int INTENSITY_MIN = 0;
public static final int INTENSITY_DEEP_SLEEP = 1;
public static final int INTENSITY_LIGHT_SLEEP = 2;
public static final int INTENSITY_AWAKE = 3;
public static final int INTENSITY_MAX = 4;
}