Дело в том что в Lightpack вызов функции сглаживание происходит на максимальной частоте 79 000 Гц,
т.е. PWM генератор работает на частоте 79кГц. Функция сглаживания вшита в генерацию яркости цвета.
И?
ты ответь
1) ты мигание лампочки накаливания видишь?
Нет?
а оно есть!!! с частотой 100Гц (50 с двумя полуволнами дает 100 Гц мерцания).
Как его увидеть? посмотреть на мир через вэб камеру и выбрать на ней частоту сглаживания 60Гц.
2) ты мигание обычного телевизора с обычной лучевой трубкой видишь?
Нет?
а оно есть!!! с частотой 50Гц (25 кадров в секунду передаются с удвоенной частотой по пол кадра за раз)
Как его увидеть? посмотреть на мир через вэб камеру и выбрать на ней частоту сглаживания 60Гц.
А теперь поясни мне пожалуйста почему видно точно такое же мигание в 50раз в секунду?
(обновляется картинка 800 раз в секунду)
Твоя же идея - заменить драйвера. Окей. тогда картинка будет статична а не обновляться 800 раз в секунду.
но вывод же по 50 раз в секунду никто не отменял...
Идея номер два (на базе идеи номер один) - поставить мыло. Можно сглаживать между выводами. но это
пожрет ресурса МК (у нас не 8 бит как в старом лайтпаке) что потребует смены драйверов...
PS: Эмбилайт не монитор - это заполнение помещения фоновым светом. вывод надо в текущей версии ввести
программное ограничение на мерцание в плагине, а так при замыливании у тебя вспышка задержится на
1/50 секунды - все. А после 1/50 секунды выйдет на полную мощь. Т.е. глазами не заметить...
(повторю это не монитор, это заполнение светом, видное только боковым зрением)
PS2: Подозреваю, что в лайтпаке сглаживание длилось дольше, т.е. мылило не 1/50 секунды
а скажем 1/10, поэтому и разница заметна... Мылить 1/10 (для желающих) предлагаю плагином.
Дело в том что в Lightpack вызов функции сглаживание происходит на максимальной частоте 79 000 Гц,
Эта фраза неправильна технически...
1) у них (в отличие от меня) обычный ШИМ и если картинка обновляется скажем 79000/256=300 раз в секунду
то если цикл был начат на 0b1110000 а в середине пришло 0b00000111 то если обновляться каждые 79 000 Гц
то мы получим на выходе 0b11111111 т.е. постоянное свечение (вспышку). Вывод надо обновляться между циклами.
2) частота 79 000 раз в сек. Данных у нас 32 бит. И того 2 528 000 тактов. На один такт в аппаратном SPI тратится 2 машинных такта.
и того в тактах проца 5 056 000 чистого машинного времени. И это без учета приема данных, сохранения и восстановки при входе
в прерывание... (даже на асме затраты времени будут больше)
SPI в прошивке с дин. индикацией у них программный (тебе код я приводил).
А теперь поясни мне пожалуйста как они уложили СИ (который в 4 раза тормознутее асма) и софтовый SPI в частоту кварца 16 мег?
даже на аппаратном SPI она чисто теоретически на си с такой скоростью (79 000 Гц) в 16 мег не лезет.
с программным спиай и слов нету... Липа с дропами (термин означает пропуск тактов).