class HubError extends Error { } const HubErrors = { None: 0, // нет ошибки OpenFile: 1, // ошибка открытия файла FreeSpace: 2, // нет свободного места CrcMiss: 3, // ошибка контрольной суммы SizeMiss: 4, // не совпал размер Start: 5, // ошибка старта Write: 6, // ошибка записи End: 7, // ошибка завершения Abort: 8, // прервано Timeout: 9, // таймаут соединения Busy: 10, // загрузчик занят другим клиентом Memory: 11, // невозможно выделить память WrongClient: 12,// не тот клиент Forbidden: 13, // запрещено в request Disabled: 14, // модуль отключен WrongType: 15, // некорректный тип PacketDamage: 16,// пакет повреждён FsBusy: 17, // fs занята Cancelled: 18, // отменено пользователем }; class DeviceError extends HubError { constructor(code) { super(`Device error: ${code}`); this.code = code; } } class TimeoutError extends HubError { constructor() { super("Timed out"); } }