This commit is contained in:
MartMazik 2023-06-03 12:36:22 +03:00
commit 3888af0897

216
SPI.md
View File

@ -1,138 +1,188 @@
## Передача команды и параметров по шине SPI ##
# Передача команды и параметров по шине SPI
При передаче пакета
1) Byte команды.
2) Byte[] массив параметров.
3) Byte контрольной суммы.
## Команды ##
- **AllClear** -
очищение экрана.
# Команды:
Команда: 0x01
Условные обозначения:
|Обозначение|Описание|
|:-:|-|
|\||ИЛИ (значение слева или значение справа)|
|a<sub>1</sub>, a<sub>2</sub> , ..., a<sub>n</sub>|Диапазон (одно значение из диапазона)|
|\[...]|Несколько подобных значений|
|СxRC|Байт контрольной суммы|
Параметры: 0 или 1 для заполнения черными или белыми пикселями
***
0x00-0x01
## Заполнение экрана белым или черным цветом
Пример: *Заполнить экран черными пикселями*
**Команда:**
0x01, 0x00
0x01
- **SetPage** -
выбор точки.
**Параметры и данные:**
|Color|
|-|
|0x00,0x01, … ,0x7F|
Команда: 0x02
**Пример:**
|Color|Описание|Полная команда|
|-|-|-|
|0x00|Заполнить экран черными пикселями|0x01 0x00 CxRC|
Параметры: число - от 1 до 7
***
0x01-0x07
## Выбор строки на экране
Пример: *Выбрать 3 строку*
**Команда:**
0x02, 0x03
- **AddSimbol** -
добавление нового символа и его параметров.
0x02
Команда: 0x03
**Параметры и данные:**
|Page|
|-|
|0x00,0x01,...,0x07|
Символы:
**Пример:**
|Page|Описание|Полная команда|
|-|-|-|
|0x03|Выбрать 3 строку|0x02 0x03 CxRC|
" " - 0x20
"(" - 0x21
")" - 0x22
"*" - 0x23
"+" - 0x24
"," - 0x25
"-" - 0x26
"." - 0x27
"/" - 0x28
"0" - 0x29
"1" - 0x2a
"2" - 0x2b
"3" - 0x2c
"4" - 0x2d
"5" - 0x2e
"6" - 0x2f
"7" - 0x30
"8" - 0x31
"9" - 0x32
":" - 0x33
"<" - 0x34
"=" - 0x35
">" - 0x36
***
Параметры: символы - от 1 до 64
## Добавление нового символа
0x01-0xFF, 0x01-0xFF ... 0x01-0xFF
**Команда:**
Пример: *Добавить символы 5 и 7*
0x03
0x03, 0x05, 0x07
**Параметры и данные:**
|Symbols|
|-|
|0x01,0x02,...,0x10|
**Пример:**
|Symbols|Описание|Полная команда|
|-|-|-|
|0x0e 0x10|Добавить символы 5 и 7|0x03 0x0e 0x10 CxRC|
- **DelSimbol** -
удаление символа и его параметров.
**Описание:**
Команда: 0x04
" " - 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
Параметры: число - сколько символов будет удалено
***
0x01 - 0xFF
## Удаление символов
Пример: *Удалить 64 символа*
**Команда:**
0x04, 0x40
0x04
- **DrawPixel** -
закрашивание пикселя.
**Параметры и данные:**
|Amount|
|-|
|0x01,0x02,...,0xFF|
Команда: 0x05
**Пример:**
|Amount|Описание|Полная команда|
|-|-|-|
|0x40|Удалить 64 символа|0x04 0x40 CxRC|
Параметры: x1, y1, color
***
0x01-0x80, 0x01-0x40, 0x01 / 0x02
## Поставить пиксель в координатах, белого или черного цвета
Пример: *Установить пиксель в x = 3 , y = 17 , color - белый.*
**Команда:**
0x05, 0x03, 0x11, 0x01
0x05
- **DrawLine** -
рисует линию.
**Параметры и данные:**
|X|Y|Color|
|-|-|-|
|0x00,0x01, … ,0x7F|0x00,0x01, … ,0x3F|0x00 \| 0x01|
Команда: 0x06
**Пример:**
|X|Y|Color|Описание|Полная команда|
|-|-|-|-|-|
|0x24|0x04|0x01|Поставить белый пиксель в координатах x-36; y-4|0x05 0x24 0x04 0x0 CxRC|
Параметры: x1,y1,x2,y2,color
***
Пример: *Нарисовать линию в x1 = 2 , y1 = 2 , x2 = 5 , y2 =5 , color - белый.*
## Нарисовать линию по координатам, белого или черного цвета
0x06, 0x02, 0x02, 0x05, 0x05, 0x01
**Команда:**
- **DrawCircle** -
рисует круг.
0x06
Команда: 0x07
**Параметры и данные:**
|X|Y|X2|Y2|Color|
|-|-|-|-|-|
|0x00,0x01, … ,0x7F|0x00,0x01, … ,0x3F|0x00,0x01, … ,0x7F|0x00,0x01, … ,0x3F|0x00 \| 0x01|
Параметры: x,y,r,color
**Пример:**
|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|
x,y - центр круга.
***
r - радиус.
## Нарисовать круг по координатам и радиусу, белого или черного цвета
Пример: *Нарисовать круг в x = 3, y = 15 , радиус = 10 , color - белый.*
**Команда:**
0x07, 0x03, 0x0F, 0x0A, 0x01
0x07
- **DrawRectangle** -
рисует прямоугольник.
**Параметры и данные:**
|X|Y|R|Color|fill|
|-|-|-|-|-|
|0x00,0x01, … ,0x7F|0x00,0x01, … ,0x3F|0x01,0x02,...,0xFF| 0x00 \| 0x01| 0x00 \| 0x01|
Команда: 0x08
**Пример:**
|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|
Параметры: x,y,высота,ширина,color
***
x,y - верхняя левая точка.
## Нарисовать прямоугольник по координатам, белого или черного цвета
Пример: *Нарисовать прямоугольник в x = 5 , y = 10 , высота = 7 , ширина = 10 , color - белый.*
**Команда:**
0x08, 0x05, 0x0A, 0x07, 0x0A, 0x01
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|
***