SHIELD-Malb41k1/SPI.md

6.0 KiB
Raw Blame History

Передача команды и параметров по шине SPI

При передаче пакета

  1. Byte команды.
  2. Byte[] массив параметров.
  3. Byte контрольной суммы.

Команды:

Условные обозначения:

Обозначение Описание
| ИЛИ (значение слева или значение справа)
a1, a2 , ..., an Диапазон (одно значение из диапазона)
[...] Несколько подобных значений
СxRC Байт контрольной суммы

Заполнение экрана белым или черным цветом

Команда:

0x01    

Параметры и данные:

Color
0x00|0x01

Пример:

Color Описание Полная команда
0x00 Заполнить экран черными пикселями 0x01 0x00 CxRC
0x01 Заполнить экран белыми пикселями 0x01 0x01 CxRC

Выбор строки на экране

Команда:

0x02    

Параметры и данные:

Page
0x00,0x01,...,0x07

Пример:

Page Описание Полная команда
0x03 Выбрать 3 строку 0x02 0x03 CxRC

Добавление нового символа

Команда:

0x03    

Параметры и данные:

Symbols
[0x01,0x02,...,0x16]

Пример:

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 0x01 CxRC
0x0B 0x16 0x00 Поставить черный пиксель в координатах x-11; y-22 0x05 0x0B 0x16 0x00 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; конец x-5, y-5 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 и радиусом 5 0x07 0x03 0x09 0x05 0x01 0x01 CxRC
0x03 0x09 0x05 0x01 0x00 Нарисовать не заполненный белый круг c координатами центра x-3, y-9 и радиусом 5 0x07 0x03 0x09 0x05 0x01 0x00 CxRC
0x03 0x09 0x05 0x00 0x01 Нарисовать заполненный черный круг c координатами центра x-3, y-9 и радиусом 5 0x07 0x03 0x09 0x05 0x00 0x01 CxRC

Нарисовать прямоугольник белого или черного цвета по координатам

Команда:

0x08

Параметры и данные:

X Y Widht Height Color Fill
0x00,0x01, … ,0x7F 0x00,0x01, … ,0x3F 0x00,0x01, … ,0x10 0x00 | 0x01 0x00 | 0x01

Пример:

X Y Widht Height Color Fill Описание Полная команда
0x05 0x0A 0x0A 0x0F 0x01 0x01 Нарисовать белый заполненный прямоугольник c координатами x-5, y-10 и размерами по ширине 10, по высоте 15 0x05 0x0A 0x0A 0x07 0x01 0x01 CxRC
0x05 0x0A 0x0A 0x0F 0x01 0x00 Нарисовать белый не заполненный прямоугольник c координатами x-5, y-10 и размерами по ширине 10, по высоте 15 0x05 0x0A 0x0A 0x07 0x01 0x00 CxRC

Нарисовать символ по координатам

Команда:

0x09

Параметры и данные:

X Y Charlndex Color
0x00,0x01, … ,0x7F 0x00,0x01, … ,0x3F 0x00,0x01, … ,0x16 0x00 | 0x01

Пример:

X Y Charlndex Color Описание Полная команда
0x05 0x0A 0x09 0x01 Нарисовать "0" белого цвета c координатами верхнего левого угла символа x-5, y-10 0x09 0x05 0x0A 0x09 0x01 CxRC