Galizin писал(а):Наверное они тоже пробовали разные варианты и остановились на этом.
Уверен, что пробовали. Вариант хороший, но по уму нужны две кнопки. Хотя в Интернет читал на англоязычных форумах много критики в адрес такого редактирования в БП Agilent. Типа очень долго.
Galizin писал(а):Я тоже экспериментировал с вращением. Остановился с приращением шага на октаву в начале, потом на 1/4 и 1/8 октавы при совсем крупном шаге. Но я не ставил цели попасть в нужный шаг. С увеличением в 2-4-8 и тд раз тоже экспериментировал - не понравилось.
Как по мне, так лучше без всяких адаптивных скоростей - все должно быть жестко. Потому что с детства нарушена координация движений. Пока лучший вариант - кнопка FINE перебирает три значения шага с индикацией светодиодом.
Galizin писал(а):Можно при нажатии кнопки выбирать шаг самим энкодером с отображением шага.
Так у меня сделано в генераторах. Сам оцениваю решение как крайне неудобное. Хотя тогда хоть будет преемственность между приборами.
Starichok51 писал(а):на ассемблере надо писать, а не на языке высокого уровня. на ассемблере код будет раз в 7-8 короче, чем на С.
Когда писал на ассемблере, тоже так думал. А теперь вижу, что разница будет не более 1.5 раза, кроме каких-то экзотических случаев. Одна cross-call оптимизация чего стоит. В ассемблере редко кто так станет извращаться из-за полной нечитабельности исходника. А тут исходник красивый, а в коде все переплетено для экономии объема.
AlexLimex писал(а):в итоге имеем 10, 1, 0.1 , 0.01 как по мне так реализация очень удобная для быстрой настройки любого значения.
Как мне кажется, дело идет к еще одному меню:
На сегодня есть несколько годных алгоритмов работы энкодера: Adaptive Step, Auto Step, Fine-Normal-Coarse, Selected Step, плюс их вариации.
AlexLimex писал(а):Это комерческий продукт по завершению?
Нет, это любительский проект чисто для себя.