Skip to content

babbler-js-v0.5.0: API polishing, queue manage API, better Errors, more callbacks

Choose a tag to compare

@sadr0b0t sadr0b0t released this 11 Feb 19:48
· 8 commits to master since this release

Разные улучшения в API, управление очередью команд, лучшая работа с исключениями Errors, больше событий

измения в API

  • Переименовать BabblerDevice -> Babbler
    #8
  • Убрать из конструктора Babbler колбэк onStatusChange
    #9
  • Конвертировать публичные поля Babbler из функций в свойства: deviceName, deviceStatus, deviceError, deviceTimeoutFlag, queueLimit, queueLength, queueReady
    #11

новые возможности

  • Настройки options в конструкторе Babbler: replyTimeout, validatePeriod, queueLimit, dequeuePeriod
    #9
    #16
  • Новое событие 'health' для обработки второстепенных статусов подключенного устройства (единственный статус - устройство отвечает не вовремя).
    #12
  • Возможность задать максимальное количество попыток первого рукопожатного пинга при подключении: babbler.connect:options.retryCount
    #7
  • Колбэк на удачное подключение/ошибку в connect
    #10
  • Добавлено устройство-заглушка BabblerTestDevice для тестов без устройства: portName="test:/ttyUSB0"
    #6
  • Управление очередью команд:
    #4

новые методы:
-- setQueueLimit/getQueueLimit (переделать на свойство Object.defineProperty)
-- queueLength - текущий размер очреди
-- queueReady - очередь готова/переполнена
-- discardQueue - отменить команды, не отправленные на устройство

события
-- queue_full
-- queue_ready

внутренние улучшения

  • (экспериментально - задел) Возможность встраивать новые транспортные устройства (кроме последовательного порта) и выбирать из через строку-имя устройства в формате "протокол:строка_подключения". Если протокол не указан, используется последовательный порт (для сохранения лаконичности и совместимости).
    #6
  • Улучшения в работе с ошибками
    #5
    #6

TODO

  • Передавать стек-трейс от родительской ошибки в ошибки типа BblrPortWriteError, BblrDisconnectedBeforeError и т.п.
    #14
  • Разобраться с синхронным/асинхронными колбэками при подключении устройства
    #15