- C1: единственный владелец stop+destroy — reader-поток; close() только выставляет флаг и ждёт; повторный close и close из колбэка безопасны (регресс-тесты; TSan на close с мёртвым модулем — 0 гонок) - M1: wheel собирается с bundled mbedtls (нет внешней soname mbedcrypto); попутно исправлена bundled-ветка CMake (-lSTATIC) - C-API: счётчики потерянных событий/логов, лог-кольцо без union-балласта, атомарные fn/ctx лог-синка - provision: валидация формата облачных ответов; CLI: человеческие ошибки (exit 2), --out с правами 0600, console_script pyfglair - упаковка: MANIFEST.in (sdist с C++-исходниками), очистка stale .so, readme в метаданных; find_library без ложных .bak - тесты: close-сценарии, доставка логов, ошибки CLI/provision, C-API очередь
76 lines
1.5 KiB
Python
76 lines
1.5 KiB
Python
"""Перечисления pyfglair (значения совпадают с include/fgl-aircon/c_api.h)."""
|
||
from __future__ import annotations
|
||
|
||
from enum import IntEnum
|
||
|
||
|
||
class State(IntEnum):
|
||
IDLE = 0
|
||
REGISTERING = 1
|
||
ONLINE = 2
|
||
RECOVERING = 3
|
||
OFFLINE = 4
|
||
KEY_ERROR = 5
|
||
|
||
|
||
class Error(IntEnum):
|
||
NONE = 0
|
||
NO_SLOT = 1
|
||
UNREACHABLE = 2
|
||
KEY_MISMATCH = 3
|
||
BAD_KEY_EXCHANGE = 4
|
||
ACTIVATION_TIMEOUT = 5
|
||
DECRYPT_FAILED = 6
|
||
|
||
|
||
class Template(IntEnum):
|
||
A = 0
|
||
B = 1
|
||
F = 2
|
||
|
||
|
||
class Prop(IntEnum):
|
||
OPERATION_MODE = 0
|
||
FAN_SPEED = 1
|
||
ADJUST_TEMPERATURE = 2
|
||
DISPLAY_TEMPERATURE = 3
|
||
AF_VERTICAL_DIRECTION = 4
|
||
AF_VERTICAL_SWING = 5
|
||
AF_HORIZONTAL_DIRECTION = 6
|
||
AF_HORIZONTAL_SWING = 7
|
||
AF_VERTICAL_MOVE_STEP1 = 8
|
||
AF_HORIZONTAL_MOVE_STEP1 = 9
|
||
OUTDOOR_LOW_NOISE = 10
|
||
INDOOR_FAN_CONTROL = 11
|
||
HUMAN_DET_AUTO_SAVE = 12
|
||
MIN_HEAT = 13
|
||
POWERFUL_MODE = 14
|
||
COIL_DRY_MODE = 15
|
||
ECONOMY_MODE = 16
|
||
MASTER_TIMER_ON_OFF_1 = 17
|
||
MASTER_TIMER_ON_OFF_2 = 18
|
||
ERROR_CODE = 19
|
||
DEMAND_CONTROL = 20
|
||
FILTER_SIGN_RESET_DISPLAY = 21
|
||
FILTER_SIGN_RESET = 22
|
||
OP_STATUS = 23
|
||
DEVICE_NAME = 24
|
||
BUILDING_NAME = 25
|
||
WIFI_LED_ENABLE = 26
|
||
SERVICE_CONTACT_NAME = 27
|
||
SERVICE_CONTACT_PHONE = 28
|
||
SERVICE_CONTACT_EMAIL = 29
|
||
AF_HORIZONTAL_NUM_DIR = 30
|
||
AF_VERTICAL_NUM_DIR = 31
|
||
DEVICE_CAPABILITIES = 32
|
||
GET_PROP = 33
|
||
HUMAN_DET = 34
|
||
MONITOR1 = 35
|
||
REFRESH = 36
|
||
|
||
|
||
class ValueKind(IntEnum):
|
||
INT = 0
|
||
BOOL = 1
|
||
STRING = 2
|