Упростить блок
Упростить блок
Блок служить для управления LED освещение но в связи с большим их количеством стал вопрос с перегрузом памяти контролера, может кто подскажет как уменьшить его размер без изменения принципа работы.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Упростить блок
Oleg_UA, расскажите, пожалуйста, про функционал блока. По выходам блока как-то непонятно. Случайно не для WS2812?
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Упростить блок
Oleg_UA, как я понимаю, это самый маленький блок в Вашем проекте. Сильной экономии при оптимизации получить будет сложно.
Добавлено (31.03.2017, 14:22)
---------------------------------------------
Компилятор сам довольно хорошо оптимизирует:
Было 2 блока условий:
if ((circle)&&(! cycle_last )) // смена направления при первом нажатие
{aaaaaa}
и
if (circle) // запуск кругового цикла
{bbbbbb}
Оптимизировал так.
if (circle) // запуск кругового цикла
{
if (! cycle_last ) // смена направления при первом нажатие
{aaaaaa}
bbbbbb.
}
С точки зрения языков неСИ (бейсик, паскаль и т.п.), да и вообще по логике, такая оптимизация должна приводить к уменьшению размера кода, потому как делается 2 сравнения, вместо трех. Но Wiring-компилятор это что-то... Код в итоге увеличился с 1448, до 1500 байт.
Добавлено (31.03.2017, 14:22)
---------------------------------------------
Компилятор сам довольно хорошо оптимизирует:
Было 2 блока условий:
if ((circle)&&(! cycle_last )) // смена направления при первом нажатие
{aaaaaa}
и
if (circle) // запуск кругового цикла
{bbbbbb}
Оптимизировал так.
if (circle) // запуск кругового цикла
{
if (! cycle_last ) // смена направления при первом нажатие
{aaaaaa}
bbbbbb.
}
С точки зрения языков неСИ (бейсик, паскаль и т.п.), да и вообще по логике, такая оптимизация должна приводить к уменьшению размера кода, потому как делается 2 сравнения, вместо трех. Но Wiring-компилятор это что-то... Код в итоге увеличился с 1448, до 1500 байт.
Упростить блок
Boroda, подскажите, пожалуйста, возможно ли на базе флпрог создание модуля для управления WS2812?
p.s. Прошу прощения у Oleg_UA, что влезаю в Ваш топик.
p.s. Прошу прощения у Oleg_UA, что влезаю в Ваш топик.
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Упростить блок
Pixima, где-то видел скетчи управления, но т.к. вещь это ОЧЕНЬ быстрая (управляющие сигналы 0,4/0,8us), то без библиотеки тут никак. Можно попробовать раскурить библиотеку Adafruit_NeoPixel.h, время будет, посмотрю, что можно сделать.
Но что-то на нашем форуме уже имеется: http://forum.flprogwiki.ru/viewtopic.php?f=10&t=1147
Но что-то на нашем форуме уже имеется: http://forum.flprogwiki.ru/viewtopic.php?f=10&t=1147
Упростить блок
Boroda, не зря у Вас такое звание. Большое спасибо!
Упростить блок
Функционал прост: этот блок управляет яркостью свечения одноцветной ленты, проще говоря димер с плавным включением, выключением и круговой регулировкой для подстройки яркости.Pixima писал(а):расскажите, пожалуйста, про функционал блока. По выходам блока как-то непонятно. Случайно не для WS2812?
Названия входов и выходов говорят сами за себя
WS2812 это совсем другое
![Улыбка! :)](./images/smilies/ha_smile.gif)
Задача контроллера только управлять светодиодными лентами с помощью выключателей и команд полученных от других контроллеров, загвоздка в количестве одинаковых блоков и уменьшив даже на 10%уже будет хорошо.Boroda писал(а):это самый маленький блок в Вашем проекте. Сильной экономии при оптимизации получить будет сложно.
Первое условие дописывал уже в процессе использования и как то даже не додумался так менять направление
Спасибо за подсказку, буду шаманить дальше может что и получится урезать.
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Упростить блок
Oleg_UA, поставьте блок PWM_function в проект 1 раз, и все блоки PWM_trig замените. Должно работать, если я нигде не ошибся.
del
П.С. код получился почти такой же...
del
П.С. код получился почти такой же...
Последний раз редактировалось Boroda 01 апр 2017, 03:12, всего редактировалось 1 раз.
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Упростить блок
А вот в FBD лучше получилось.
Четыре блока на плате:
1. исходник 3502/139байт
2. с отдельной функцией 3356/153байт
3. FBD 2954/162байт
Четыре блока на плате:
1. исходник 3502/139байт
2. с отдельной функцией 3356/153байт
3. FBD 2954/162байт
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Boroda 01 апр 2017, 11:44, всего редактировалось 1 раз.
Упростить блок
Boroda, Большое спасибо за помощь, буду разбираться и пробовать:)
Мне ещё нужно получше разобраться с последовательность в FLprog, вроде и просто но не всё выходить без блоков с кодом.
Мне ещё нужно получше разобраться с последовательность в FLprog, вроде и просто но не всё выходить без блоков с кодом.
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Упростить блок
Самому нравится на СИ, потому как последовательность действий сразу образуется. А коробочки чуть передвинешь и логика сразу ломается. Но до оптимизатора FBD, который реализован в FLProg, мне не угнаться.
Упростить блок
Вот и я путаюсь с этими "коробочками" но когда проект громадный то тут уже визуальная среда выигрывает в скоросте редактирование. Проекту до совершенства конечно далеко но он стоит всех усилий а автор вообще молочага
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Упростить блок
Да вполне себе функционально и довольно стабильно. Не хватает конечно последовательности выполнения блоков как в CodeSys "по ходу сигнала". Но если это реализовать, то объем используемой оперативки увеличится очень прилично.Oleg_UA писал(а):Проекту до совершенства конечно далеко
Упростить блок
Пару версий назад стабильность хромала, сейчас совсем другое дело хоть и тормозит жутко.Boroda писал(а):Да вполне себе функционально и довольно стабильно
Москва тоже не сразу строилась так и FLprog тоже со временем автор отточит.
CodeSys хоть и тоже частично визуальный но для работы с ним нужно иметь больше чем минимум знаний а здесь даже школьник может сотворить "чудо" не зная языка.
Работа над программой уже проделана не малая но нет предела совершенству
Отвлеклись от темы пора завязывать, ещё раз спасибо за помощь
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость