]> rtime.felk.cvut.cz Git - fpga/rpi-motor-control.git/blobdiff - pmsm-control/test_sw/main_pmsm.c
Cosmetic changes.
[fpga/rpi-motor-control.git] / pmsm-control / test_sw / main_pmsm.c
index ac3563d59b578396991ba6f0088415bb28668929..6f3c670777651a98ccfe8ab41755c8fc12c0a888 100644 (file)
@@ -61,15 +61,15 @@ struct rpi_state rps={
        .log_col=0,
        .doLogs=0,
        .alpha_offset=960,
-       .main_commutator=zero_commutator        /*komutace vypnuta*/
+       .main_commutator=zero_commutator,       /* komutace vypnuta */
+       .main_controller=zero_controller        /*rizeni vypnuto */
 };
 
 
 /**
  * \brief Initilizes GPCLK.
  */
-int clk_init()
-{
+int clk_init(){
        initialise(); /*namapovani gpio*/
        initClock(PLLD_500_MHZ, 10, 0);
        gpioSetMode(4, FSEL_ALT0);
@@ -111,7 +111,6 @@ void * pos_monitor(void* param){
 /*
  * \brief
  * Feedback loop.
- * TODO: replace bunch of 'IFs' with Object-like pattern
  */
 void * control_loop(void* param){
        int i;
@@ -127,8 +126,6 @@ void * control_loop(void* param){
        uint16_t last_index;                            /*we have index up-to date*/
        spi_read(&poc);         /*pocatecni informace*/
        clock_gettime(CLOCK_MONOTONIC ,&t);
-       /* start after one second */
-       t.tv_sec++;
                while(1){
                        /* wait until next shot */
                        clock_nanosleep(CLOCK_MONOTONIC, TIMER_ABSTIME, &t, NULL);
@@ -154,11 +151,7 @@ void * control_loop(void* param){
                        }
 
                        /* pocitame sirku plneni podle potreb rizeni*/
-                       if (rps.pos_reg_ena){           /*pozicni rizeni*/
-                               pos_pid(&rps);
-                       }else if(rps.spd_reg_ena){      /*rizeni na rychlost*/
-                               spd_pid(&rps);
-                       }
+                       rps.main_controller(&rps);
 
                        /* sirku plneni prepocteme na jednotlive pwm */
                        rps.main_commutator(&rps);