Railway Challenge
/
challenge-2022Fork
Commented out energgy sotrage code to rever to old state
challenge.h@36:5c61710813b3, 16 months ago (annotated)
- Committer:
- as96
- Date:
- Wed Jun 21 16:58:23 2023 +0000
- Revision:
- 36:5c61710813b3
- Parent:
- 15:4976d145fbd9
Updated code with LCD SPI
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
rwcjoliver | 0:4788e1df7b55 | 1 | #ifndef _CHALLENGE_H_ |
rwcjoliver | 0:4788e1df7b55 | 2 | #define _CHALLENGE_H_ |
rwcjoliver | 0:4788e1df7b55 | 3 | |
rwcjoliver | 0:4788e1df7b55 | 4 | #include <mbed.h> |
rwcjoliver | 0:4788e1df7b55 | 5 | #include "dashboard.h" |
rwcjoliver | 0:4788e1df7b55 | 6 | #include "remoteControl.h" |
rwcjoliver | 0:4788e1df7b55 | 7 | #include "motor.h" |
rwcjoliver | 0:4788e1df7b55 | 8 | |
rwcjoliver | 0:4788e1df7b55 | 9 | class ChallengeMode { |
rwcjoliver | 0:4788e1df7b55 | 10 | public: |
rwcjoliver | 0:4788e1df7b55 | 11 | // CONSTURCTOR |
jamesmcildowietfl | 15:4976d145fbd9 | 12 | ChallengeMode(InterruptIn& autoStopTrigger, Dashboard& dashboard, Remote& remote, Motor& motor1); |
rwcjoliver | 0:4788e1df7b55 | 13 | |
rwcjoliver | 0:4788e1df7b55 | 14 | // FUNCTIONS |
rwcjoliver | 0:4788e1df7b55 | 15 | // Regen Mode |
rwcjoliver | 0:4788e1df7b55 | 16 | void regenThrottleOn(); |
rwcjoliver | 0:4788e1df7b55 | 17 | void regenThrottleOff(); |
rwcjoliver | 0:4788e1df7b55 | 18 | bool regenBrakingOn(); |
rwcjoliver | 0:4788e1df7b55 | 19 | void regenBrakingOff(); |
rwcjoliver | 0:4788e1df7b55 | 20 | |
rwcjoliver | 0:4788e1df7b55 | 21 | // Auto-Stop Mode |
rwcjoliver | 0:4788e1df7b55 | 22 | void autoStopOn(); |
rwcjoliver | 0:4788e1df7b55 | 23 | void autoStopOff(); |
rwcjoliver | 0:4788e1df7b55 | 24 | void autoStopTriggered(); |
rwcjoliver | 0:4788e1df7b55 | 25 | void autoStopControl(); |
rwcjoliver | 0:4788e1df7b55 | 26 | |
rwcjoliver | 0:4788e1df7b55 | 27 | |
rwcjoliver | 0:4788e1df7b55 | 28 | // VARIABLES |
rwcjoliver | 0:4788e1df7b55 | 29 | bool regenThrottleActive; |
rwcjoliver | 0:4788e1df7b55 | 30 | bool regenBrakingActive; |
rwcjoliver | 0:4788e1df7b55 | 31 | bool autoStopActive; |
rwcjoliver | 0:4788e1df7b55 | 32 | |
as96 | 36:5c61710813b3 | 33 | |
rwcjoliver | 0:4788e1df7b55 | 34 | bool autoStopInProgress; |
rwcjoliver | 0:4788e1df7b55 | 35 | |
rwcjoliver | 0:4788e1df7b55 | 36 | private: |
rwcjoliver | 0:4788e1df7b55 | 37 | InterruptIn& _autoStopTrigger; |
rwcjoliver | 0:4788e1df7b55 | 38 | Dashboard& _dashboard; |
rwcjoliver | 0:4788e1df7b55 | 39 | Remote& _remote; |
rwcjoliver | 0:4788e1df7b55 | 40 | Motor& _motor1; |
rwcjoliver | 0:4788e1df7b55 | 41 | |
rwcjoliver | 0:4788e1df7b55 | 42 | // AutoStop |
rwcjoliver | 0:4788e1df7b55 | 43 | float targetDistance; |
rwcjoliver | 0:4788e1df7b55 | 44 | float remainingDistance; |
rwcjoliver | 0:4788e1df7b55 | 45 | |
rwcjoliver | 0:4788e1df7b55 | 46 | // float timeToReachTarget; |
rwcjoliver | 0:4788e1df7b55 | 47 | float decelerationGradient; |
rwcjoliver | 0:4788e1df7b55 | 48 | float requiredSpeed; |
rwcjoliver | 0:4788e1df7b55 | 49 | |
as96 | 36:5c61710813b3 | 50 | |
rwcjoliver | 0:4788e1df7b55 | 51 | }; |
rwcjoliver | 0:4788e1df7b55 | 52 | |
as96 | 36:5c61710813b3 | 53 | #endif |