Bayley Wang
/
foc-ed_in_the_bot_compact
robot
DQMapper/DQMapper.h@92:a9dac72d8cac, 2017-04-06 (annotated)
- Committer:
- bwang
- Date:
- Thu Apr 06 17:33:47 2017 +0000
- Revision:
- 92:a9dac72d8cac
- Parent:
- 45:cf8ad81fb0f0
- Child:
- 98:1051c4103900
--PwmIn now checks lower bounds for sanity and fall without rise; --switched to edge aligned pwm to work around prius module propagation delays
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bwang | 42:030e0ec4eac5 | 1 | #ifndef __DQ_MAPPER_H |
bwang | 42:030e0ec4eac5 | 2 | #define __DQ_MAPPER_H |
bwang | 42:030e0ec4eac5 | 3 | |
bwang | 42:030e0ec4eac5 | 4 | class DQMapper { |
bwang | 42:030e0ec4eac5 | 5 | public: |
bwang | 42:030e0ec4eac5 | 6 | virtual void map(float torque_percent, float w, float *d, float *q) = 0; |
bwang | 42:030e0ec4eac5 | 7 | }; |
bwang | 42:030e0ec4eac5 | 8 | |
bwang | 42:030e0ec4eac5 | 9 | class QOnlyMapper : public DQMapper { |
bwang | 42:030e0ec4eac5 | 10 | public: |
bwang | 42:030e0ec4eac5 | 11 | QOnlyMapper(float kt, float tmax) {_kt = kt; _tmax = tmax;} |
bwang | 42:030e0ec4eac5 | 12 | virtual void map(float torque_percent, float w, float *d, float *q) {*d = 0; *q = torque_percent * _tmax / _kt;} |
bwang | 42:030e0ec4eac5 | 13 | private: |
bwang | 42:030e0ec4eac5 | 14 | float _kt; |
bwang | 42:030e0ec4eac5 | 15 | float _tmax; |
bwang | 42:030e0ec4eac5 | 16 | }; |
bwang | 42:030e0ec4eac5 | 17 | |
bwang | 44:3fd6a43b91f0 | 18 | class LinearNoFWMapper : public DQMapper { |
bwang | 44:3fd6a43b91f0 | 19 | public: |
bwang | 44:3fd6a43b91f0 | 20 | LinearNoFWMapper(float kt, float tmax, float lambda) {_kt = kt; _tmax = tmax; _lambda = lambda;} |
bwang | 44:3fd6a43b91f0 | 21 | virtual void map(float torque_percent, float w, float *d, float *q); |
bwang | 44:3fd6a43b91f0 | 22 | private: |
bwang | 44:3fd6a43b91f0 | 23 | float _kt; |
bwang | 44:3fd6a43b91f0 | 24 | float _tmax; |
bwang | 45:cf8ad81fb0f0 | 25 | float _lambda; |
bwang | 44:3fd6a43b91f0 | 26 | }; |
bwang | 44:3fd6a43b91f0 | 27 | |
bwang | 42:030e0ec4eac5 | 28 | class LutMapper : public DQMapper { |
bwang | 42:030e0ec4eac5 | 29 | public: |
bwang | 42:030e0ec4eac5 | 30 | virtual void map(float torque_percent, float w, float *d, float *q); |
bwang | 42:030e0ec4eac5 | 31 | }; |
bwang | 42:030e0ec4eac5 | 32 | |
bwang | 42:030e0ec4eac5 | 33 | #endif |