robot

Dependencies:   FastPWM3 mbed

Committer:
bwang
Date:
Fri Jan 06 07:54:22 2017 +0000
Revision:
42:030e0ec4eac5
Child:
44:3fd6a43b91f0
structural changes; reference and throttle maps now classes, global variables moved to structs, system config functions moved to BREMS/*

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 42:030e0ec4eac5 18 class LutMapper : public DQMapper {
bwang 42:030e0ec4eac5 19 public:
bwang 42:030e0ec4eac5 20 virtual void map(float torque_percent, float w, float *d, float *q);
bwang 42:030e0ec4eac5 21 };
bwang 42:030e0ec4eac5 22
bwang 42:030e0ec4eac5 23 #endif