diff --git a/SPI.md b/SPI.md index a4479d1..ba0e7a3 100644 --- a/SPI.md +++ b/SPI.md @@ -1,138 +1,188 @@ -## Передача команды и параметров по шине SPI ## +# Передача команды и параметров по шине SPI При передаче пакета 1) Byte команды. 2) Byte[] массив параметров. 3) Byte контрольной суммы. -## Команды ## -- **AllClear** - - очищение экрана. +# Команды: -Команда: 0x01 +Условные обозначения: +|Обозначение|Описание| +|:-:|-| +|\||ИЛИ (значение слева или значение справа)| +|a1, a2 , ..., an|Диапазон (одно значение из диапазона)| +|\[...]|Несколько подобных значений| +|С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 \ No newline at end of file + 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| + +*** \ No newline at end of file