+void inv_trans_comm_2(int duty){
+ uint32_t pos;
+ int32_t sin, cos;
+ int32_t alpha, beta;
+ int32_t pwma,pwmb,pwmc;
+ int32_t pwm1,pwm2,pwm3;
+ pos=rps.index_dist;
+ /*melo by byt urceno co nejpresneji, aby faze 'a' splyvala s osou 'alpha'*/
+ pos+=460;
+ /*use it as cyclic 32-bit logic*/
+ pos*=4294967;
+ pxmc_sincos_fixed_inline(&sin, &cos, pos, 16);
+ dq2alphabeta(&alpha, &beta,0,duty, sin, cos);
+ alpha>>=16;
+ beta>>=16;
+ alphabeta2pwm3(&pwma,&pwmb, &pwmc,alpha,beta);
+
+ compPhases(&pwm1,&pwm2, &pwm3,pwma,pwmb);
+
+ rps.pwm1=(uint16_t)pwm1;
+ rps.pwm2=(uint16_t)pwm2;
+ rps.pwm3=(uint16_t)pwm3;
+}