Menu

Code Commit Log


Commit Date  
[r37] by dynamicsalex

[+] Парсим пакет данных от принтера, иначе ложные сообщения об ошибке

Почему это даёт ложные срабатывания:
Код ищет байты ошибок (0x45, 0x60 и т.д.) в любом месте принятого массива.
Когда приходит пакет 02 40 60 40 40 03 0d 0a (где ошибки нет), байт 0x60 случайно оказывается на 3-й позиции (индекс 2). Старый алгоритм находит его и ошибочно считает, что это ERR_CLP_HEAD_OPEN, хотя по протоколу код ошибки должен находиться строго в пятом байте (индекс 4), а статус общей ошибки — во втором байте (индекс 1).
Решение
Необходимо реализовать функцию, которая:
Ищет в потоке байт полную структуру пакета (начало 0x02 и конец 0x03 0x0D 0x0A).
Проверяет строго второй (0x45) и пятый (коды ошибок) байты.
Использует буфер накопления, так как данные по UART могут приходить частями (прерывания могут срабатывать несколько раз, пока пакет не соберётся целиком).

2026-08-27 06:34:59 Tree
[r36] by dynamicsalex

[*] Логика мигания светодиодом ошибки вынесена в класс LED

2026-08-26 11:12:42 Tree
[r35] by dynamicsalex

[*] Работа с портами светодиода вынесена в отдельный файл
[*] Исправление опечаток

2026-08-26 09:12:29 Tree
[r34] by dynamicsalex

[+] Системный тикер вынесен в отдельный класс
[*] Константы байт - ошибок CLP выненсены в CONSTANT.h
[*] Изменение имён некотороых переменных

2026-08-26 07:48:35 Tree
[r33] by dynamicsalex

[*] Оптимизация размеров переменных UART

2026-08-23 14:00:52 Tree
[r32] by dynamicsalex

[*] Уменьшены временныЫе константы отправки пакетов, для более быстрой реакции принтера на ошибки

2026-08-23 11:28:04 Tree
[r31] by dynamicsalex

[*] Если обнаружен код ошибка в принятых данных - сразу же выходим из цикла провекри ответ принтера

2026-08-23 06:42:15 Tree
[r30] by dynamicsalex

[*] Добавлена ошибка отсутсвует риббон (ранее ошибка риббона всё равно была бы отражена, по обшему коду ошибки принтера)
[+] Добавлен счётчик обрыва соединения с принтером, ошибка отсутсвя связи отображается после 2 неудачнх попыток получить данные с принтера

2026-08-23 06:34:07 Tree
[r29] by dynamicsalex

[*] Убрал моргание светодиода ошибки при потере связи с принтером в текущем цикле прёма ответа принтер: при печати возможны обрывы связи с принтером, так как принтер не отвечает.

2026-08-21 12:34:53 Tree
[r28] by dynamicsalex

[*] Небольшие оптимизации uart + равный интервал для отправки команд и цикла отправки команд

2026-08-21 12:02:49 Tree
Older >