omuni

Dependencies:   mbed nucleo_rotary_encoder

Committer:
sawai
Date:
Thu Aug 17 03:49:34 2017 +0000
Revision:
0:6da7d0e457a2
omuni

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sawai 0:6da7d0e457a2 1 #ifndef _omuni_
sawai 0:6da7d0e457a2 2 #define _omuni_
sawai 0:6da7d0e457a2 3
sawai 0:6da7d0e457a2 4 #include "speed_control.hpp"
sawai 0:6da7d0e457a2 5
sawai 0:6da7d0e457a2 6 #define THETA_ADDJUST 0.69f
sawai 0:6da7d0e457a2 7
sawai 0:6da7d0e457a2 8 class omuni
sawai 0:6da7d0e457a2 9 {
sawai 0:6da7d0e457a2 10 private:
sawai 0:6da7d0e457a2 11 I2C *i2c;
sawai 0:6da7d0e457a2 12 speed_control *o[3];
sawai 0:6da7d0e457a2 13 Timer time, t;
sawai 0:6da7d0e457a2 14 float tvx, tvy, tomega;
sawai 0:6da7d0e457a2 15 float vx, vy, omega, theta;
sawai 0:6da7d0e457a2 16 float R, d;
sawai 0:6da7d0e457a2 17 int addr[3];
sawai 0:6da7d0e457a2 18 float v[3];
sawai 0:6da7d0e457a2 19 bool f;
sawai 0:6da7d0e457a2 20 public:
sawai 0:6da7d0e457a2 21 omuni(I2C *i, TIM_TypeDef *timer_type0, TIM_TypeDef *timer_type1, TIM_TypeDef *timer_type2, size_t pulse_per_revol, float _cy_ms, int a[3], float _R, float _d);
sawai 0:6da7d0e457a2 22 void set_pid(int n, float _kp, float _ki, float _kd);
sawai 0:6da7d0e457a2 23 void set_speed(float vx, float vy);
sawai 0:6da7d0e457a2 24 void set_speed(float vx, float vy, float omega);
sawai 0:6da7d0e457a2 25 void set_speed(float _vx, float _vy, float _omega, bool _f);
sawai 0:6da7d0e457a2 26 void renew_theta();
sawai 0:6da7d0e457a2 27 bool renew_speed();
sawai 0:6da7d0e457a2 28 void _set_speed();
sawai 0:6da7d0e457a2 29 void drive();
sawai 0:6da7d0e457a2 30 void reset_theta();
sawai 0:6da7d0e457a2 31 float get_theta();
sawai 0:6da7d0e457a2 32 float get_vx();
sawai 0:6da7d0e457a2 33 float get_vy();
sawai 0:6da7d0e457a2 34 };
sawai 0:6da7d0e457a2 35
sawai 0:6da7d0e457a2 36 #endif