Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of priustroller by
context.h@29:cb03760ba9ea, 2015-03-14 (annotated)
- Committer:
- nki
- Date:
- Sat Mar 14 23:42:46 2015 +0000
- Revision:
- 29:cb03760ba9ea
- Parent:
- 26:d00561c7bf43
- Child:
- 30:2b6d426f3bfc
Cautionary commit, possibly works
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| bwang | 11:dccbaa9274c5 | 1 | #ifndef __CONTEXT_H |
| bwang | 11:dccbaa9274c5 | 2 | #define __CONTEXT_H |
| bwang | 11:dccbaa9274c5 | 3 | |
| bwang | 11:dccbaa9274c5 | 4 | #include "includes.h" |
| bwang | 11:dccbaa9274c5 | 5 | #include "transforms.h" |
| bwang | 11:dccbaa9274c5 | 6 | #include "filters.h" |
| bwang | 11:dccbaa9274c5 | 7 | #include "context.h" |
| bwang | 11:dccbaa9274c5 | 8 | #include "core.h" |
| bwang | 11:dccbaa9274c5 | 9 | #include "meta.h" |
| bwang | 11:dccbaa9274c5 | 10 | #include "sensors.h" |
| bwang | 11:dccbaa9274c5 | 11 | |
| bwang | 24:f1ff9c7256b5 | 12 | class BufferedDebugger; |
| bwang | 24:f1ff9c7256b5 | 13 | |
| bwang | 11:dccbaa9274c5 | 14 | class Context { |
| bwang | 11:dccbaa9274c5 | 15 | public: |
| bwang | 11:dccbaa9274c5 | 16 | Context(); |
| bwang | 11:dccbaa9274c5 | 17 | void ConfigureOutputs(PinName oa, PinName ob, PinName oc, PinName en); |
| bwang | 11:dccbaa9274c5 | 18 | void ConfigureCurrentSensors(PinName ib_pin, PinName ic_pin, float scale, float filter_strength); |
| bwang | 26:d00561c7bf43 | 19 | void ConfigureIdPidController(float ki, float kp, float kd, float pidmin, float pidmax); |
| bwang | 26:d00561c7bf43 | 20 | void ConfigureIqPidController(float ki, float kp, float kd, float pidmin, float pidmax); |
| bwang | 11:dccbaa9274c5 | 21 | void ConfigureThrottle(PinName throttle_pin, float min, float max); |
| bwang | 11:dccbaa9274c5 | 22 | void ConfigurePositionSensor(PinName pos_a_pin, PinName pos_b_pin, float cal1_a, float cal2_a, float cal1_b, float cal2_b, float offset); |
| bwang | 11:dccbaa9274c5 | 23 | void ConfigureReference(float max_current); |
| bwang | 24:f1ff9c7256b5 | 24 | void ConfigureDebugger(int debugger_channels, int debugger_size); |
| bwang | 11:dccbaa9274c5 | 25 | void AttachCallBack(void (*f)(Context *), int freq); |
| nki | 29:cb03760ba9ea | 26 | void InitData(); |
| bwang | 11:dccbaa9274c5 | 27 | void Start(); |
| bwang | 11:dccbaa9274c5 | 28 | public: |
| bwang | 11:dccbaa9274c5 | 29 | Inverter *inverter; |
| bwang | 11:dccbaa9274c5 | 30 | Motor *motor; |
| bwang | 11:dccbaa9274c5 | 31 | User *user; |
| bwang | 11:dccbaa9274c5 | 32 | Throttle *throttle; |
| bwang | 11:dccbaa9274c5 | 33 | PositionSensor *sense_p; |
| bwang | 11:dccbaa9274c5 | 34 | TempSensor *sense_t_motor, *sense_t_inverter; |
| bwang | 11:dccbaa9274c5 | 35 | VoltageSensor *sense_bus; |
| bwang | 11:dccbaa9274c5 | 36 | PidController *pid_d, *pid_q; |
| bwang | 11:dccbaa9274c5 | 37 | Modulator *modulator; |
| bwang | 17:fd6771a6685a | 38 | Serial *serial; |
| bwang | 11:dccbaa9274c5 | 39 | ReferenceSynthesizer *reference; |
| bwang | 11:dccbaa9274c5 | 40 | LtiFilter *filter_d, *filter_q; |
| bwang | 24:f1ff9c7256b5 | 41 | BufferedDebugger *debugger; |
| bwang | 11:dccbaa9274c5 | 42 | private: |
| bwang | 11:dccbaa9274c5 | 43 | void upd_function(); |
| bwang | 11:dccbaa9274c5 | 44 | private: |
| bwang | 11:dccbaa9274c5 | 45 | PinName _oa, _ob, _oc, _ib_pin, _ic_pin, _throttle_pin, _pos_a_pin, _pos_b_pin, _en; |
| bwang | 26:d00561c7bf43 | 46 | float _dki, _dkp, _dkd, _qki, _qkp, _qkd, _min, _max, _cal1_a, _cal2_a, |
| bwang | 26:d00561c7bf43 | 47 | _cal1_b, _cal2_b, _scale, _offset, _max_current, _filter_strength; |
| bwang | 24:f1ff9c7256b5 | 48 | int _debugger_channels, _debugger_size; |
| bwang | 26:d00561c7bf43 | 49 | float _dpidmax, _dpidmin, _qpidmax, _qpidmin; |
| bwang | 11:dccbaa9274c5 | 50 | void (*_callbacks[16])(Context *); |
| bwang | 11:dccbaa9274c5 | 51 | unsigned long _call_times[16]; |
| bwang | 11:dccbaa9274c5 | 52 | int _call_periods[16]; |
| bwang | 11:dccbaa9274c5 | 53 | int _index; |
| bwang | 11:dccbaa9274c5 | 54 | unsigned long _time; |
| bwang | 11:dccbaa9274c5 | 55 | |
| bwang | 11:dccbaa9274c5 | 56 | Ticker *_time_upd_ticker; |
| bwang | 11:dccbaa9274c5 | 57 | }; |
| bwang | 11:dccbaa9274c5 | 58 | #endif |
