]> rtime.felk.cvut.cz Git - fpga/lx-cpu1/lx-rocon.git/commitdiff
Correction of edge case of phase sector evaluation in the TUMBL firmware.
authorPavel Pisa <ppisa@pikron.com>
Sun, 14 Dec 2014 11:45:34 +0000 (12:45 +0100)
committerPavel Pisa <ppisa@pikron.com>
Sun, 14 Dec 2014 11:45:34 +0000 (12:45 +0100)
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
hw/lx-rocon_firmware/firmware.c

index f6ffdb14879763318eba914c1abbd75e1e1e717d..22d4ca50181a645cd66d97c8419ac4994c14abd5 100644 (file)
@@ -211,12 +211,13 @@ void main(void)
         uint32_t pwm23_shift;
         uint32_t bet_sgn = pwm_bet >> 31;
         uint32_t alp_sgn = pwm_alp >> 31;
-        alp_m_bet_d2k3 = (alp_sgn ^ pwm_alp) - (bet_sgn ^ pwm_bet_div_2_k3);
-        alp_m_bet_d2k3 = alp_m_bet_d2k3 >> 31;
        #ifdef COMPUTE_PHASE_SECTOR
         uint32_t bet_sgn_cpl = ~bet_sgn;
        #endif /*COMPUTE_PHASE_SECTOR*/
 
+        alp_m_bet_d2k3 = (alp_sgn ^ pwm_alp) - (bet_sgn ^ (pwm_bet_div_2_k3 + bet_sgn));
+        alp_m_bet_d2k3 = alp_m_bet_d2k3 >> 31;
+
         state23_msk = alp_sgn & ~alp_m_bet_d2k3;
 
         /*