robot

Dependencies:   FastPWM3 mbed

Committer:
bwang
Date:
Fri Jan 06 07:54:22 2017 +0000
Revision:
42:030e0ec4eac5
Child:
50:f508c7860342
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 __THROTTLE_MAPPER_H
bwang 42:030e0ec4eac5 2 #define __THROTTLE_MAPPER_H
bwang 42:030e0ec4eac5 3
bwang 42:030e0ec4eac5 4 class ThrottleMapper {
bwang 42:030e0ec4eac5 5 public:
bwang 42:030e0ec4eac5 6 virtual float map(float throttle, float w) = 0;
bwang 42:030e0ec4eac5 7 };
bwang 42:030e0ec4eac5 8
bwang 42:030e0ec4eac5 9 class NullThrottleMapper : public ThrottleMapper {
bwang 42:030e0ec4eac5 10 public:
bwang 42:030e0ec4eac5 11 virtual float map(float throttle, float w) {return throttle;}
bwang 42:030e0ec4eac5 12 };
bwang 42:030e0ec4eac5 13
bwang 42:030e0ec4eac5 14 class DrivingThrottleMapper : public ThrottleMapper{
bwang 42:030e0ec4eac5 15 public:
bwang 42:030e0ec4eac5 16 virtual float map(float throttle, float w);
bwang 42:030e0ec4eac5 17 private:
bwang 42:030e0ec4eac5 18 float getMaxTqpctPlus(float w);
bwang 42:030e0ec4eac5 19 float getMaxTqpctMinus(float w);
bwang 42:030e0ec4eac5 20 float getZeroTqThrottle(float w);
bwang 42:030e0ec4eac5 21 };
bwang 42:030e0ec4eac5 22 #endif