# Передача команды и параметров по шине SPI
При передаче пакета
1) Byte команды.
2) Byte[] массив параметров.
3) Byte контрольной суммы.
# Команды:
Условные обозначения:
|Обозначение|Описание|
|:-:|-|
|\||ИЛИ (значение слева или значение справа)|
|a1, a2 , ..., an|Диапазон (одно значение из диапазона)|
|\[...]|Несколько подобных значений|
|СxRC|Байт контрольной суммы|
***
## Заполнение экрана белым или черным цветом
**Команда:**
0x01
**Параметры и данные:**
|Color|
|-|
|0x00,0x01, … ,0x7F|
**Пример:**
|Color|Описание|Полная команда|
|-|-|-|
|0x00|Заполнить экран черными пикселями|0x01 0x00 CxRC|
***
## Выбор строки на экране
**Команда:**
0x02
**Параметры и данные:**
|Page|
|-|
|0x00,0x01,...,0x07|
**Пример:**
|Page|Описание|Полная команда|
|-|-|-|
|0x03|Выбрать 3 строку|0x02 0x03 CxRC|
***
## Добавление нового символа
**Команда:**
0x03
**Параметры и данные:**
|Symbols|
|-|
|0x01,0x02,...,0x10|
**Пример:**
|Symbols|Описание|Полная команда|
|-|-|-|
|0x0e 0x10|Добавить символы 5 и 7|0x03 0x0e 0x10 CxRC|
**Описание:**
" " - 0x00
"(" - 0x01
")" - 0x02
"*" - 0x03
"+" - 0x04
"," - 0x05
"-" - 0x06
"." - 0x07
"/" - 0x08
"0" - 0x09
"1" - 0x0a
"2" - 0x0b
"3" - 0x0c
"4" - 0x0d
"5" - 0x0e
"6" - 0x0f
"7" - 0x10
"8" - 0x11
"9" - 0x12
":" - 0x13
"<" - 0x14
"=" - 0x15
">" - 0x16
***
## Удаление символов
**Команда:**
0x04
**Параметры и данные:**
|Amount|
|-|
|0x01,0x02,...,0xFF|
**Пример:**
|Amount|Описание|Полная команда|
|-|-|-|
|0x40|Удалить 64 символа|0x04 0x40 CxRC|
***
## Поставить пиксель в координатах, белого или черного цвета
**Команда:**
0x05
**Параметры и данные:**
|X|Y|Color|
|-|-|-|
|0x00,0x01, … ,0x7F|0x00,0x01, … ,0x3F|0x00 \| 0x01|
**Пример:**
|X|Y|Color|Описание|Полная команда|
|-|-|-|-|-|
|0x24|0x04|0x01|Поставить белый пиксель в координатах x-36; y-4|0x05 0x24 0x04 0x0 CxRC|
***
## Нарисовать линию по координатам, белого или черного цвета
**Команда:**
0x06
**Параметры и данные:**
|X|Y|X2|Y2|Color|
|-|-|-|-|-|
|0x00,0x01, … ,0x7F|0x00,0x01, … ,0x3F|0x00,0x01, … ,0x7F|0x00,0x01, … ,0x3F|0x00 \| 0x01|
**Пример:**
|X|Y|X2|Y2|Color|Описание|Полная команда|
|-|-|-|-|-|-|-|
|0x02|0x02|0x05|0x05|0x01|Нарисовать линию в координатах начало x-2 , y-2 , конец x2-5 , y2-5, color-0x01 |0x06 0x02 0x02 0x05 0x05 0x01 CxRC|
***
## Нарисовать круг по координатам и радиусу, белого или черного цвета
**Команда:**
0x07
**Параметры и данные:**
|X|Y|R|Color|fill|
|-|-|-|-|-|
|0x00,0x01, … ,0x7F|0x00,0x01, … ,0x3F|0x01,0x02,...,0xFF| 0x00 \| 0x01| 0x00 \| 0x01|
**Пример:**
|X|Y|R|Color|fill|Описание|Полная команда|
|-|-|-|-|-|-|
|0x03|0x09|0x05|0x01|0x01|Нарисовать круг c координатами x-3, y-9, r-5, color-0x01, fill-0x01|0x07 0x03 0x9 0x05 0x01 0x01 CxRC|
***
## Нарисовать прямоугольник по координатам, белого или черного цвета
**Команда:**
0x08
**Параметры и данные:**
|X|Y|Charlndex|Color|fill|
|-|-|-|-|-|-|
|0x00,0x01, … ,0x7F|0x00,0x01, … ,0x3F|0x00,0x01, … ,0x10| 0x00 \| 0x01| 0x00 \| 0x01|
**Пример:**
|X|Y|Charlndex|Color|fill|Описание|Полная команда|
|-|-|-|-|-|-|-|
|0x05|0x0A|0x07|0x01|0x01|Нарисовать прямоугольник c координатами x-5, y-10, Charlndex-7, color-0x01|0x08 0x05 0x0A 0x07 0x01 CxRC|
***