помечтаем?
я тут пытаюсь думать о будущем развитии проекта, если, конечно, оно состоится (о причинах, способных помешать, в конце).
давайте посоветуемся, что бы надо изменить/добавить/устранить в концепции плеера скриптов.
я напишу списочек того, что пришло в голову мне, а вы выскажитесь о том, насколько это имеет смысл, ну и/или добавьте свои пожелания так же для обсуждения.
1. сделать "нормальную" матричную адресацию пикселов по паре X:Y (вместо выбора строки/столбца, а потом номера пиксела в нем)
2. отказаться полностью от задания цвета RGB и оставить только индексный цвет (это поможет почти в 3 раза увеличить количество пикселов)
3. перейти к индексной модели цвета к модели типа "палитра", т.е. в каждом скрипте задавать свою палитру из 16 цветов (тут уже в формате RGB), а потом использовать индекс по этой палитре (плюс этого варианта - опять увеличение количества пикселов и, главное, возможность индексом выбирать черный и белый цвет)
4. отказаться от параметра "яркость", т.к. при "палитровом" цвете можно сразу задать нужную яркость цвета для нужных индексов (снова поможет увеличить количество пикселов еще примерно на 30)
5. ввести режим "нормальной" арифметики с переполнением (сохранив текущую "с насыщением"), т.е. 255+1=0, 255+2=1 и т.д. вместо 255+1=255, 255+2=255, 255*125=255 (это будет более привычно для Си-шников)
6. ввести переключение свойства FADE в режим "просто параметр", т.е. когда значение FADE для пиксела является по сути просто дополнительной переменной, привязанной к пикселу. это даст возможность реализовать эффекты, связанные с цветом каждого пиксела независимо (сейчас это в принципе невозможно, т.к. количество пикселов превышает количество переменных).
7. добавить команду управления длительностью скрипта, чтобы можно было прямо в скрипте "отменить" время принудительного прерывания и установить для этого скрипта другое время (позволит избавиться от ситуации, когда эффект застывает на "не красивом" месте перед сменой на новый)
все описанное я уже почти обдумали и примерно знаю, как сделать (п.1 уже даже успел в симуляторе протестировать). разумеется, некоторые пункты противоречат другим, и все сразу вряд ли получится реализовать... на быстродействии это сильно не скажется, совместимость с текущим форматом команд сохранится полностью, т.е. старые скрипты будут работать.
по моим прикидкам можно будет добиться количества пикселов в 254, а если изменить язык скриптов, то и до 400 (язык менять придется потому, что 1-байтной переменной для номера пиксела при этом будет не хватать, а значит, надо будет как-то переходить на 2-байтные переменные, что ломает всю концепию скрипта "любые данные только 2 символа"). эта последняя (8-я) идея мне нравится меньше всего...
если за количеством пикселов не гнаться, а смириться с количеством 100-140 (не более), есть вариант добавить поддержку анализа звукового сигнала, т.е. по сути сделать цветомузыку, в которой скриптом задается эффект... правда, я уже не уверен, что при этом получится сохранить 100 обновлений пикселов в секунду.
теперь пару слов о том, что может помешать сбыче мечт.
лично свои собственные запросы я реализовал полностью, и просто так ради своих хотелок смысла продолжать что-то делать смысла не вижу. тем более что тема AVR как-то теряет популярность, все кивают на 32-битные, с WiFi и блекджеком, то есть блютузом... то есть я не скрываю: если тема усохнет в 2020 году, то и мой интерес к ней усохнет вместе с общим интересом. как нынче говорят, ваши лайки решают всё