+ if (pwma<0) pwma=0;
+ if (pwmb<0) pwmb=0;
+ if (pwmc<0) pwmc=0;
+
+
+ rps.t_pwm1=(uint16_t)pwma;
+ rps.t_pwm3=(uint16_t)pwmb;
+ rps.t_pwm2=(uint16_t)pwmc;
+}
+
+void inv_trans_comm_2(int duty){
+ uint32_t pos;
+ int32_t sin, cos;
+ int32_t alpha, beta;
+ int32_t ua,ub,uc;
+ int32_t ia,ib,ic;
+ int32_t u1,u2,u3;
+ pos=rps.index_dist;
+
+ pos+=960; /*zarovnani faze 'a' s osou 'alpha'*/
+
+ /*pro výpočet sin a cos je pouzita 32-bit cyklicka logika*/
+ pos*=4294967;
+ pxmc_sincos_fixed_inline(&sin, &cos, pos, 16);
+
+ dq2alphabeta(&alpha, &beta,0,duty, sin, cos);
+ alpha>>=16;
+ beta>>=16;
+
+ alphabeta2pwm3(&ia,&ib, &ic,alpha,beta);
+
+ ua=ia;
+ ub=ib;
+ uc=ic;
+
+ transDelta(&u1,&u2, &u3,ub,uc);
+
+ rps.pwm1=(uint16_t)u1;
+ rps.pwm2=(uint16_t)u2;
+ rps.pwm3=(uint16_t)u3;
+}