robot

Dependencies:   FastPWM3 mbed

Committer:
bwang
Date:
Tue Feb 28 03:32:21 2017 +0000
Revision:
79:d0b1bb3dcf68
Parent:
73:d44bc3a46942
Child:
110:c66f359b6932
added FlashWriter class

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 50:f508c7860342 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 50:f508c7860342 22
bwang 56:c681001dfa46 23 class LimitingThrottleMapper : public ThrottleMapper {
bwang 56:c681001dfa46 24 public:
bwang 56:c681001dfa46 25 LimitingThrottleMapper(float wmax);
bwang 56:c681001dfa46 26 virtual float map(float throttle, float w);
bwang 56:c681001dfa46 27 private:
bwang 56:c681001dfa46 28 float __wmax, __wlim;
bwang 56:c681001dfa46 29 };
bwang 56:c681001dfa46 30
bwang 73:d44bc3a46942 31 class ConstantThrottleMapper : public ThrottleMapper {
bwang 73:d44bc3a46942 32 public:
bwang 73:d44bc3a46942 33 ConstantThrottleMapper(float out) {__out = out;}
bwang 73:d44bc3a46942 34 virtual float map(float throttle, float w) {if (throttle > 0.01f) return __out; return 0.0f;}
bwang 73:d44bc3a46942 35 private:
bwang 73:d44bc3a46942 36 float __out;
bwang 73:d44bc3a46942 37 };
bwang 42:030e0ec4eac5 38 #endif