#include "pxmcc_types.h"
#include "tumbl_addr.h"
-/* k3 = math.sqrt(3) / 2 */
-
-#define CONST16_K3 56756
-
-/* 1 / k3 * 65536 */
-
-#define RECI16_K3 75674
-
-/* 1 / (2 * k3) * 65536 */
-#define RECI16_2_K3 37837
+/* 1 / sqrt(3) * 65536 */
+#define RECI16_SQRT3 37837
#define offsbychar(_ptr, _offs) \
((typeof(&(_ptr)[0]))((char*)(_ptr) + (_offs)))
pwm_bet = pwm_d * pxmcc->ptsin + pwm_q * pxmcc->ptcos;
if (pxmcc->mode == PXMCC_MODE_BLDC) {
- pwm_bet_div_2_k3 = RECI16_2_K3 * (pwm_bet >> 16);
+ pwm_bet_div_2_k3 = RECI16_SQRT3 * (pwm_bet >> 16);
#ifndef SUPPRESS_CONDITIONALS
if (pwm_bet > 0)
}
#endif /*SUPPRESS_CONDITIONALS*/
- cur_alp *= 3;
- cur_alp >>= 1;
-
- cur_bet *= CONST16_K3;
+ cur_bet *= RECI16_SQRT3;
cur_bet >>= 16;
} else {
int32_t bet_pwm = pxmcc->pwm_prew[2];