N K
/
GaNtroller
a fork of priustroller
Fork of priustroller_current by
core/core.h@54:e8d9bc885723, 2015-05-19 (annotated)
- Committer:
- bwang
- Date:
- Tue May 19 08:50:42 2015 +0000
- Revision:
- 54:e8d9bc885723
- Parent:
- 36:11766b5da6ed
Velocity sensing added
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bwang | 1:1f58bdcf2956 | 1 | #ifndef __CORE_H |
bwang | 1:1f58bdcf2956 | 2 | #define __CORE_H |
bwang | 1:1f58bdcf2956 | 3 | |
bwang | 1:1f58bdcf2956 | 4 | #include "includes.h" |
bwang | 1:1f58bdcf2956 | 5 | #include "sensors.h" |
bwang | 1:1f58bdcf2956 | 6 | |
bwang | 1:1f58bdcf2956 | 7 | class Motor; |
bwang | 1:1f58bdcf2956 | 8 | class Inverter; |
bwang | 1:1f58bdcf2956 | 9 | class CurrentSensor; |
bwang | 1:1f58bdcf2956 | 10 | class VoltageSensor; |
bwang | 1:1f58bdcf2956 | 11 | class PositionSensor; |
bwang | 1:1f58bdcf2956 | 12 | class TempSensor; |
bwang | 1:1f58bdcf2956 | 13 | |
bwang | 1:1f58bdcf2956 | 14 | class Motor { |
bwang | 1:1f58bdcf2956 | 15 | public: |
nki | 33:e7b132029bae | 16 | Motor(CurrentSensor *sense_c, CurrentSensor *sense_b, PositionSensor *sense_p, TempSensor *sense_t); |
bwang | 1:1f58bdcf2956 | 17 | void Config(int num_poles, float kv); |
bwang | 11:dccbaa9274c5 | 18 | float GetCurrentC(); |
bwang | 11:dccbaa9274c5 | 19 | float GetCurrentB(); |
bwang | 11:dccbaa9274c5 | 20 | float GetPosition(); |
bwang | 54:e8d9bc885723 | 21 | float GetSpeed(); |
bwang | 11:dccbaa9274c5 | 22 | float GetTemp(); |
bwang | 1:1f58bdcf2956 | 23 | private: |
nki | 33:e7b132029bae | 24 | CurrentSensor *_sense_c,*_sense_b; |
bwang | 1:1f58bdcf2956 | 25 | PositionSensor *_sense_p; |
bwang | 1:1f58bdcf2956 | 26 | TempSensor *_sense_t; |
bwang | 1:1f58bdcf2956 | 27 | int _num_poles; |
bwang | 1:1f58bdcf2956 | 28 | float _kv; |
bwang | 1:1f58bdcf2956 | 29 | }; |
bwang | 1:1f58bdcf2956 | 30 | |
bwang | 1:1f58bdcf2956 | 31 | class Inverter { |
bwang | 1:1f58bdcf2956 | 32 | public: |
bwang | 1:1f58bdcf2956 | 33 | Inverter(PinName ph_a, PinName ph_b, PinName ph_c, PinName en, VoltageSensor *sense_bus, TempSensor *sense_t); |
bwang | 1:1f58bdcf2956 | 34 | void SetDtcA(float dtc); |
bwang | 1:1f58bdcf2956 | 35 | void SetDtcB(float dtc); |
bwang | 1:1f58bdcf2956 | 36 | void SetDtcC(float dtc); |
bwang | 1:1f58bdcf2956 | 37 | void Disable(); |
bwang | 1:1f58bdcf2956 | 38 | void Enable(); |
bwang | 11:dccbaa9274c5 | 39 | float GetVbus(); |
bwang | 11:dccbaa9274c5 | 40 | float GetTemp(); |
bwang | 1:1f58bdcf2956 | 41 | private: |
bwang | 1:1f58bdcf2956 | 42 | PwmOut *_pwm_a, *_pwm_b, *_pwm_c; |
bwang | 1:1f58bdcf2956 | 43 | DigitalOut *_en; |
bwang | 1:1f58bdcf2956 | 44 | VoltageSensor *_sense_bus; |
bwang | 1:1f58bdcf2956 | 45 | TempSensor *_sense_t; |
bwang | 1:1f58bdcf2956 | 46 | }; |
bwang | 1:1f58bdcf2956 | 47 | |
bwang | 1:1f58bdcf2956 | 48 | class User { |
bwang | 1:1f58bdcf2956 | 49 | public: |
bwang | 1:1f58bdcf2956 | 50 | User(Throttle *throttle) {_throttle = throttle;} |
nki | 36:11766b5da6ed | 51 | void UpdateThrottle() {throttle = _throttle->GetThrottle();} |
bwang | 1:1f58bdcf2956 | 52 | public: |
bwang | 1:1f58bdcf2956 | 53 | float throttle; |
bwang | 1:1f58bdcf2956 | 54 | private: |
bwang | 1:1f58bdcf2956 | 55 | Throttle *_throttle; |
bwang | 1:1f58bdcf2956 | 56 | }; |
bwang | 1:1f58bdcf2956 | 57 | |
bwang | 1:1f58bdcf2956 | 58 | #endif |