A_OFF a fet kikapcsol B_OFF b fet kikapcsol C_OFF c fet kikapcsol D_OFF d fet kikapcsol A_ON a fet bekapcsol B_ON b fet bekapcsol C_ON c fet bekapcsol D_ON d fet bekapcsol W_A_ON varas az a fet bekapcsolasa utan W_B_ON varas az b fet bekapcsolasa utan W_C_ON varas az c fet bekapcsolasa utan W_D_ON varas az d fet bekapcsolasa utan W_CD_ON varas az c es d fet bekapcsolasa utan W_PWM_ON pwm aktive idejet varja W_A_OFF varas az a fet kikapcsolasa utan W_B_OFF varas az b fet kikapcsolasa utan W_C_OFF varas az c fet kikapcsolasa utan W_D_OFF varas az d fet kikapcsolasa utan W_CD_OFF varas az c es d fet kikapcsolasa utan W_PWM_OFF pwm passzive idejet varja T_ON[n] es a T_OFF[n] az ket tablazat aminek a segitsegevel tudjuk atkonvertalni a fikcionalis kar valtozo erteket egy valosagos ido ertekre, amit a hardware hasznal, pl. microcontroler inicializalas: A_OFF B_OFF C_OFF D_OFF K_MIN=0; K_KOZ=200; K_MAX=400; kar=K_KOZ; state=0; vissza: if(state==0) { //itt egyik fet sincsen bekapcsolva if(kar==K_MIN) { state=11; goto kozos; } if(kar==K_MAX) { state=8; goto kozos; } if(kar==K_KOZ) { state=1; goto kozos; } if((kar>K_MIN)&&(karK_KOZ)&&(kar full stop C_ON D_ON W_CD_ON state=2; goto kozos; } if(state==2) { //full stop C-D bekapcsolva if(kar!=kar_old) state=3; goto kozos; } if(state==3) { //full stop -> state 0 C_OFF D_OFF W_CD_OFF state=0; goto kozos; } if(state==4) { //normal elore if(kar!=kar_old) state=5; A_ON W_A_ON D_ON W_PWM_ON A_OFF W_A_OFF C_ON W_PWM_OFF C_OFF D_OFF W_CD_OFF goto kozos; } if(state==5) { //normal elore -> state 0 state=0; goto kozos; } if(state==6) { //normal hatra if(kar!=kar_old) state=7; B_ON W_B_ON C_ON W_PWM_ON B_OFF W_B_OFF D_ON W_PWM_OFF C_OFF D_OFF W_CD_OFF goto kozos; } if(state==7) { //normal hatra -> state 0 state=0; goto kozos; } if(state==8) { //state 0 -> full elore D_ON W_D_ON A_ON W_A_ON state=9; goto kozos; } if(state==9) { //full elore A-D bekapcsolva if(kar!=kar_old) state=10; goto kozos; } if(state==10) { //full elore -> state 0 D_OFF W_D_OFF A_OFF W_A_OFF state=0; goto kozos; } if(state==11) { //state 0 -> full hatra B_ON W_B_ON C_ON W_C_ON state=12; goto kozos; } if(state==12) { //full hatra B-C bekapcsolva if(kar!=kar_old) state=13; goto kozos; } if(state==13) { //full hatra -> state 0 C_OFF W_C_OFF B_OFF W_B_OFF state=0; goto kozos; } kozos: kar_old=kar; //itt lehet frissiteni a kar valtozo erteket goto vissza;