static void stop(struct rpi_state* state){
sem_wait(&state->thd_par_sem);
setCommutationOff(state);
- state->pos_reg_ena=0;
- state->spd_reg_ena=0;
+ setRegulationOff(state);
state->duty=0;
state->pwm1=0;
state->pwm2=0;
if (duty>MAX_DUTY) duty=MAX_DUTY;
if (duty<-MAX_DUTY) duty=-MAX_DUTY;/*paranoia*/
state->duty=duty;
- state->pos_reg_ena=0;
- state->spd_reg_ena=0;
+ setRegulationOff(state);
setCommutationOn(state);
sem_post(&state->thd_par_sem);
}
*/
static void goAbsolute(struct rpi_state* state, int pos){
sem_wait(&state->thd_par_sem);
- state->spd_reg_ena=0;
- state->pos_reg_ena=1;
+ setRegulationPos(state);
setCommutationOn(state);
state->desired_pos=pos;
sem_post(&state->thd_par_sem);
if (speed>MAX_SPEED) speed=MAX_SPEED;
if (speed<-MAX_SPEED) speed=-MAX_SPEED;/*paranoia*/
sem_wait(&state->thd_par_sem);
- state->pos_reg_ena=0;
- state->spd_reg_ena=1;
+ setRegulationSpeed(state);
setCommutationOn(state);
state->desired_spd=speed;
sem_post(&state->thd_par_sem);