Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. + hal_float_t *commandvds; /* pin: commanded derivative dummysig */
  2. + hal_float_t *commandv; /* pin: commanded derivative value */
  3. + hal_float_t *feedbackvds; /* pin: feedback derivative dummysig */
  4. + hal_float_t *feedbackv; /* pin: feedback derivative value */
  5.  
  6. + /* compute command and feedback derivatives to dummysigs */
  7. + *(pid->commandvds) = (command - pid->prev_cmd) * periodrecip;
  8. + *(pid->feedbackvds) = (feedback - pid->prev_fb) * periodrecip;
  9. + /* and calculate derivative term as difference of derivatives */
  10. + *(pid->error_d) = *(pid->commandv) - *(pid->feedbackv);
  11.  
  12. + retval = hal_pin_float_newf(HAL_IN, &(addr->feedbackv), comp_id,
  13. + "pid.%d.feedback-deriv", num);
  14. + if (retval != 0) {
  15. + return retval;
  16. + }
  17. + addr->feedbackvds = addr->feedbackv;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement