robot

Dependencies:   FastPWM3 mbed

Committer:
bwang
Date:
Tue Feb 28 03:32:21 2017 +0000
Revision:
79:d0b1bb3dcf68
Parent:
45:cf8ad81fb0f0
Child:
98:1051c4103900
added FlashWriter class

Who changed what in which revision?

UserRevisionLine numberNew 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