ramp_ctrl.h 500 B

12345678910111213141516171819202122
  1. #ifndef _RAMP_CTRL_H__
  2. #define _RAMP_CTRL_H__
  3. #include "libs/types.h"
  4. #include "libs/task.h"
  5. typedef struct {
  6. timer_t timer;
  7. float start_point;
  8. float final_point;
  9. float target;
  10. u32 duration_ms;
  11. float steps;
  12. }ramp_t;
  13. void ramp_ctrl_init(ramp_t *ramp);
  14. void ramp_clear(ramp_t *ramp);
  15. void ramp_exc(ramp_t *ramp);
  16. float ramp_get_target(ramp_t *ramp);
  17. bool ramp_complete(ramp_t *ramp);
  18. void ramp_set_target(ramp_t *ramp, float start, float final, u32 duration_ms);
  19. #endif /* _RAMP_CTRL_H__ */