GyverLamp
GyverLamp copied to clipboard
Не "корректная/реалистичная" работа огня
Огонь сменяется слишком дискретно, причина как мне кажется в том что скорость в текущей конфигурации влияет на FPS, а в идеальном варианте должна влиять на скорость изменения/интерполяции самого эффекта.(в текущем коде проценты меняются со скоростью 30 https://github.com/AlexGyver/GyverLamp/blob/master/firmware/GyverLamp_v1.5.5/effects.ino#L78 ) и сам таймер https://github.com/AlexGyver/GyverLamp/blob/master/firmware/GyverLamp_v1.5.5/effectTicker.ino#L5
я попробую поэксперементировать, но может есть сразу подводные камни или предложения куда копать?
@gunner47 может у вас есть идеи?
Если вы понимаете под "слишком дискретно" "слишком не плавно, ступенчато", тогда таймеры не причём. Таймеры влияют на скорость, но не на плавность. Предположим, в прошивке есть другой ёмкий по времени код в цикле loop. Он выполняется дольше, чем заданное время между перерисовками "кадров" эффекта огня. Получается, каждый "кадр" будет отображаться матрицей дольше, визуально огонь станет медленнее. Но не ступенчатее. При условии, что тот другой код тратит одинаковое время на каждую свою итерацию. Что может негативно влиять на плавность? Скорее всего, pcnt, о которых вы написали выше (следующий "кадр" слишком далеко смещён относительно предыдущего). Либо инертность матрицы или глаз :) В последнее не верю.
@gunner47 я и топлю за то что бы плавность поднять. сейчас скорость влияет на таймер, но не на плавность.
@AlexGyver @gunner47 Здравствуйте,что делать если при включении эффекта огня огонь работает по всей поверхности ленты? может ли это происходить изза того что я просто намотал ленту на трубу? найстройки размера стоят правильно