Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить

EDP дисплей не запускается (решено)

Чт фев 13, 2020 07:52:15

Драсте.
Есть дисплей EPD 2.9" вот такой
Изображение
и вот чето не получается его запустить. Код инициализации брал с ихнего офиц.сайта https://www.waveshare.com/wiki/2.9inch_e-Paper_Module . Ни по нарытой документации, ни по примерам - чета не хочет работать. Молчит и всё. Логанализатор подключал, байты верно идут. Причем, такой же, но другого размера, 200х200 точек - завелся. А этот не хотит. Дохлый он, чтоль?
Кто нибудь сталкивался с ним? Может там в ихнем коде какая ошибка закралась?

upd: РЕШЕНО, запустился.
Последний раз редактировалось Кислородный Чт фев 13, 2020 21:26:44, всего редактировалось 1 раз.

Re: EDP дисплей не запускается

Чт фев 13, 2020 14:25:50

очень специфична вещь....

Re: EDP дисплей не запускается

Чт фев 13, 2020 21:22:12

Да, специфический дисплейчик. Но я его наконец победил черт возьми! Не знаю какого черта он не запускался. Наверно при адаптации примера с ихнева сайта гдето чета ошибся.
DSC_1388 (1).JPG
(247.3 KiB) Скачиваний: 188

Документация отстойная, и наполовину несоотвествует тому что написано в ихнем примере. В документации вообще не указана ориентация байтов в дисплее. После серии экспериментов нашел дефолтную ориентацию. Начало координат находится в правом верхнем углу (дисплей горизонтально, разъем платы справа). При этом X направлен вниз (от 0 до 127), младший бит внизу. Y направлен влево (от 0 до 295), причем это отрицательная координата Y - изображение зеркально по горизонтали.
Картинка выводится в инверсном виде. 1 - белый, 0 - черный.
Время полного обновления всего дисплея - гдето около 1 с. Частичное обновление пока не пробовал.
Хорошо что в примере даны паттерны (waveform) для обновления дисплея. Но нигде не написано че это такое, за каким оно нужно и почему именно так выглядит. Интуитивно догадываюсь, что это последовательность напряжений на электродах для перетряхивания микрокапсул.

Upd:
После некоторых экспериментов. Да, действительно, паттерн (waveform) для обновления картинки представляет собой последовательность напряжений, стирающих предыдущую картинку. Есть два паттерна - полное обновление и частичное обновление.
Полное обновление занимает около 1 секунды и полностью затирает предыдущую картинку, несколько раз перемешивая микрокапсулы. Картинка при этом несколько раз мигает.
Частичное обновление срабатывает в несколько раз быстрее. Но картинка может быть не чистой. При замене полностью черного на полностью белый экран остается примерно 30-40% черных точек.
В документации советуют после серии частичных обновлений проводить одно полное.
Выбор частичного или полного обновления делается методом загрузки 30-байтного паттерна waveform LUT.

Горизонтальное зеркалирование удалось победить настройкой декремента по оси Y (в ширину) и установкой курсора (SET_RAM_Y_ADDRESS_COUNTER) в начальную позицию [0, 295]
Ответить