чем больше вариантов - тем лучшеСергей Саныч писал(а):Специально для таких задач есть joyhandle http://www.linuxcnc.org/docs/html/man/m ... dle.9.html
А для всяких вычурных зависимостей - табличные преобразования http://www.linuxcnc.org/docs/html/man/m ... rve.9.html
люди могут подгонять под свои задачи
===================
по компоненту ,что выше
вариант, когда можно выбрать - сколько значений определяем ,
и соответственно - сколько нужно "листать" кнопкой:
Код: Выделить всё
component selection "value selection";
/* sudo halcompile --install selection.comp */
pin in s32 in-##[18:personality] "single value setting";
pin in bit increment "";
pin in bit decrement "";
pin out s32 out "";
variable int idle_i = 0;
variable int idle_d = 0;
variable int count = 0;
function _ nofp;
license "GPLv2 or greater";
;;
FUNCTION(_) {
int i ;
if (idle_i != increment){
if (increment) {count++;}
if (count > personality-1) {count=personality-1;}
idle_i = increment;
}
if (idle_d != decrement){
if (decrement) {count--;}
if (count < 0) {count=0;}
idle_d = decrement;
}
for (i=0;i<personality;i++) {
if (i==count){out = in(i);}
}
}
Код: Выделить всё
loadrt selection personality=3
addf selection.0 servo-thread
setp selection.0.in-00 1
setp selection.0.in-01 5
setp selection.0.in-02 100
net sout selection.0.out