Project

General

Profile

Текстовое описание частей I и II

  1. Стартуем - скорость низкая, передача данных отключена.
  2. Сервис подключается к адаптеру со скоростью HIGH, ждёт 3 сек, запрашивает серийник.
  3. Ждёт ещё 0.5 сек, видит что серийник не пришёл, переключает скорость соединения на LOW.
  4. Снова запрашивает серийник, ждёт 0.5 сек, проверяет, если не пришёл снова запрашивает и ждёт. И так в цикле пока серийник не пришёл или не кончились 20 попыток.
  5. Адаптер отправляет серийник.
  6. Сервис его проверяет на корректность лицензии
    1. если лицензия не ОК, то открывает окно активации а фоновые процессы все завершает.
    2. если лицензия ОК, то 7.
  7. Сервис запрашивает версии прошивки и платы, ждёт 0.5 сек, проверяет, если не пришли снова запрашивает и ждёт. И так в цикле пока номера не придут или не кончились 20 попыток.
  8. Адаптер отправляет номера.
  9. Сервис проверяет номер прошивки.
    1. если номер меньше 110, то показывает сообщение о необходимости обновления и завершается.
    2. если >= 110, то 10.
  10. Сервис отправляет команду запроса переключения скорости, ждёт 0.5 сек подтверждения, если не пришёл SUCCESS/ACCESS_DENIED то снова отправляет команду и ждёт. И так в цикле пока SUCCESS/ACCESS_DENIED не придёт или не кончились 20 попыток.
  11. Адаптер когда принимает эту команду, отправляет SUCCESS или ACCESS_DENIED и ждёт 1 секунду (чтобы она успела дойти до сервиса на LOW-скорости), после этого переключается на HIGH.
  12. Сервис, в зависимости от результата:
    1. если ACCESS_DENIED, то показывает сообщение о необходимости включить галочку и завершает работу.
    2. если SUCCESS, то меняет скорость работы на HIGH.
  13. Сервис отправляет команду запроса включения передачи CAN-данных, ждёт 0.5 сек подтверждения, если не пришёл SUCCESS/ACCESS_DENIED то снова отправляет команду и ждёт. И так в цикле пока SUCCESS/ACCESS_DENIED не придёт или не кончились 20 попыток.
  14. Адаптер включает передачу CAN-данных или шлёт ACCESS_DENIED.
  15. Всё, мы в рабочем режиме.

Соответственно когда адаптер засыпает, он шлёт уведомление и выключает передачу CAN. Когда просыпается, шлёт уведомление и ждёт команды на включение передачи CAN.

Also available in: PDF HTML TXT