Skip to content

Latest commit

 

History

History
287 lines (174 loc) · 11 KB

USER_MANUAL.md

File metadata and controls

287 lines (174 loc) · 11 KB

Базовые команды протокола Lawicel

Sn[CR]

Эта комманда устанавливает скорость CAN в одно из предопределеных состояний. Команда доступна после включения или после перевода конроллера в режим сброса командой C.

Следующие скорости доступны:

S0 - 10Kbps
S1 - 20Kbps
S2 - 50Kbps
S3 - 100Kbps
S4 - 125Kbps
S5 - 250Kbps
S6 - 500Kbps
S7 - 800Kbps
S8 - 1Mbps

Возвращает: [CR] или [BEL] Для выбора других скоростей используйте команду s

C[CR]

Команда отключает CAN контроллер. Контроллер более не вовлечен в какое-либо взаимодействие с CAN.

Возвращает: [CR] или [BEL]

O[CR]

Эта комманда включает CAN контроллер. Контроллер вовлечен во взаимодействие с CAN. Если предварительно не было установки скорости коммандой S, будет выбрана скорость, сохраненная при предыдущей настройке данного канала.

Возвращает: [CR] or [BEL]

L[CR]

Эта комманда переключает CAN controller в режим Только Чтение. Комманда аналогична коменде (O), но не разрешает передачу данных.

Используйте C для возврата в режим сброса.

Возвращает: [CR]

riiiL [CR]

Комманда пердает стандартный remote 11 Bit CAN фрейм. Комманда доступна только в операционном режиме после исполнения комманды O.

iii - идентификатор в hexadecimal (000-7FF)
L   - код длины сообщения (0-8)

Возвращает: [CR] или [BEL]

RiiiiiiiiL [CR]

Комманда пердает расширенный remote 29 Bit CAN фрейм. Комманда доступна только в операционном режиме после исполнения комманды O.

iiiiiiii - идентификатор в hexadecimal (00000000-1FFFFFFF)
L        - код длины сообщения (0-8)

Возвращает: [CR] или [BEL]

tiiiLDDDDDDDDDDDDDDDD[CR]

Комманда пердает стандартный 11 Bit CAN фрейм. Комманда доступна только в операционном режиме после исполнения комманды O.

iii - идентификатор в hexadecimal (000-7FF)
L   - код длины сообщения (0-8)
DD  - Байт данных в hexadecimal (00-FF). Количество байт должно соответствовать коду длины сообщения

Возвращает: [CR] или [BEL]

TiiiiiiiiLDDDDDDDDDDDDDDDD[CR]

Комманда пердает расширенный 29 Bit CAN фрейм. Комманда доступна только в операционном режиме после исполнения комманды O.

iiiiiiii - идентификатор в hexadecimal (00000000-1FFFFFFF)
L        - код длины сообщения (0-8)
DD       - Байт данных в hexadecimal (00-FF). Количество байт должно соответствовать коду длины сообщения

Zv[CR]

Эта комманда включает или выключает метки времени в получаемых сообщениях.

Если метки времени включены, получаемые сообщения содержат дополнительные 2 байта на конце, в которых закодирована временная метка в миллисекнудах.

Счетчик времени начинается с 0x0000 и переполняется на 0xEA5F, что эквивалентно 59999мс.

Каждый инкремент временной метки соответствует 1мс из 60000мс окна. Возвращает: [CR] или [BEL]

Входящие фреймы

Все вхоядщие фреймы передаются сразу после получения, опционально с временной меткой.

Опрос не требуется. Отправляются в следующем формате:

11 bit ID фрейм

tiiiLDDDDDDDDDDDDDDDD[ssss][CR]

11 bit ID Remote фрейм

riiiL[ssss][CR]

29 bit ID фрейм

TiiiiiiiiLDDDDDDDDDDDDDDDD[ssss][CR]

29 bit ID Remote фрейм

RiiiiiiiiL[ssss][CR]
r    - идентификатор для Remote 11 bit фрейма
R    - идентификатор для Remote 29 bit фрейма
t    - идентификатор для 11 bit фрейма
T    - идентификатор для 29 bit фрейма
i    - идентификатор (000-7FF) или (00000000-1FFFFFFF)
L    - код длины (0-8)
DD   - байты данных (00-FF)
ssss - опциональная метка времени (0000-EA5F)

Расширенные команды.

snnnnn[CR]

Эта комманда устанавливает произвольную скорость CAN.

Контроллер пытается подобрать параметры, что бы наиболее точно соответствовать заданной скорости.

Пример: s33333[CR] - скорость 33,3k для однопроводного can.

Msdxxx[CR]

Задать значение первого регистра фильтра. Второй символ определяет тип ID: S - 11bit, E - 29bit. Третий символ определяет тип пакета: D - data, R - remote. Затем идет 16-чное значение ID.

Пример: MSD123 - пакет data с ID 11bit равный 123h.

Возвращает: [CR] или [BEL]

mxxxxxxxx[CR]

Задать значение второго регистра фильтра. В зависимости от типа фильтра задаёт второй id, аналогично М или задаёт маску: 1 - далжно совпадать, 0 - без разницы.

Пример: m11F0F - маска для пакета data c ID 11bit. В режиме маски относительно предыдущего примера примутся пакеты с ID 103, 113, 123, ... 1f3.

Возвращает: [CR] или [BEL]

fnt[CR]

Установить фильтр. После задания М и m устанавливает данные значения в один из 28 фильтров.

n - номер фильтра. t - тип фильтра: I - фильтр по ID, M - фильтр по маске.

По умолчанию фильтр 0 принимает все сообщения.

Пример: f0M - устанавливает фильтр №0 с заранее заданными значениями в режим маски.

Возвращает: [CR] или [BEL]

uiiii[CR]

Установить скорость uart. iiii - скорость в бит/с.

Если скорость за пределами разумного диапазона или если при загрузке установлена перемычка BOOT1 скорость устанавливается в 115200

Возвращает: [CR]

Bi[CR]

Переключает канал CAN. i - номер канала. Параметры канала устанавливаются в значения, используемые при предыдущем подключении.

Возвращает: [CR]

Комманды управления

!RST[CR]

Перезагрузка.

Возвращает: [CR]

!SDi[CR]

Включение - 1 или выключение - 0 автокопирование скрипта с флешкарты.

При отсутствии карты и включенной опции будет наблюдаться задержка при включении.

Возвращает: [CR]

Комманды логирования

Hi[CR]

Запустить логирование на SD карту.

i - формат. H1 - Binary, H2 - GVRET, H3 - CRTD. Если не задано, то предыдущий используемый формат.

Возвращает: [CR]

h[CR]

Остановить логирование на SD карту.

Возвращает: [CR]

Комманды скрипта

Pi[CR]

Управление записью скрипта.

Р1 - Начать запись, Р0 - закончить запись, Р2 - вывести сохраненный скрипт.

После команды Р1 все последующие команды будут сохранятся в eeprom. После команды Р0 запись прекратится.

Возвращает: [CR] или скрипт

J[CR]

Метка в скрипте, куда перейдет управление после окончания скрипта (для циклических скриптов). Если метка не задана, то скрипт после окончания остановится (одниночное выполнение).

Возвращает: [CR]

Diii[CR]

Задержка в мс. Следующая команда будет выполнена после задержки.

Возвращает: [CR]

X[CR]

Запустить скрипт.

По умолчанию скрипт запускается автоматически после включения.

Возвращает: [CR]

x[CR]

Остановить скрипт.

Что бы выключить выполнение скрипта при загрузке нужно записать в eeprom скрипт с комендой x[CR]

Возвращает: [CR]

Скрипт из файла на SD карте

Если в корне флешкарты лежит фаил script.txt и включена автозагрузка скрипта, то скрипт из файла будет скопирован в eeprom и выполнен.

В файле поддерживаются комментарии: значения в строке начиная с пробела или # не учитываются и не сохраняются.

С
S6 Коментарий после пробела
#S8 Закоментированная строка
 S4 Закоментированная строка
O
H3

Данный скрипт включает соединение CAN на скорости 500 кбит/с и запускает логирование с формате crtd.