Цитата Сообщение от Newcomer Посмотреть сообщение
А вы бы как сделали ?
Да пёс его знает. Можно и так и сяк делать. Всё зависит от того, что первое в голову придёт. Зависит от настроения и конкретной задачи.

Например, Sulfur переписал энкодер и убрал CASE/ENUM из программы.
Да, то что он написал выглядит простым и понятным. Но и мой вариант с CASE тоже простой и понятный.
Вот, честное слово, не вижу почему один или другой способ был бы лучше или хуже. Поэтому и не спешу менять на тот вариант, который сделал Sulfur.
Добавлять в примеры "второй вариант написания одного и того же" тоже особого смысла не вижу.

Другое дело, если у Sulfur проект заработает в железе, то тогда можно (и я бы хотел) пример в Hardella заменить и обновить документацию. Тогда будет гораздо проще описать "постановку задачи", и объяснять как что связано (в PRU программе, в КДС программе, в реальных энкодерах и т.п.).


Более того, это хорошо, что простой инженер без специальной "PRU подготовки" может сделать свою PRU программу "как он видит".
Одной из целью Hardella и была возможность написания своих программ, а там уж сколько людей столько и мнений. Кому-то нравятся ENUM'ы, а кому-то брюнетки.

Цитата Сообщение от Newcomer Посмотреть сообщение
Еще один вопрос. Как мне получить на входе Step драйвера ШД рампу прямоугольного вида. Т.е. исходная частота 0, далее
сразу 20 000 Гц, после отработки 1000 импульсов частота сразу 0. Какие параметры нужно задать для этого ?
Чтобы выдать команду без разгона и торможения нужно указывать accel_ramp :=0, decel_ramp := 0, max_speed := 20000, quantity := 10000