Commented out energgy sotrage code to rever to old state

Dependencies:   mbed millis

Committer:
as96
Date:
Fri Jun 23 17:44:09 2023 +0000
Revision:
39:c36b75a3402e
Parent:
36:5c61710813b3
Energy Change

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rwcjoliver 0:4788e1df7b55 1 #include <mbed.h>
rwcjoliver 0:4788e1df7b55 2 #include "definitions.h"
rwcjoliver 0:4788e1df7b55 3 #include "motor.h"
rwcjoliver 0:4788e1df7b55 4
rwcjoliver 0:4788e1df7b55 5 Motor::Motor (AnalogOut& motorAccelerator,
rwcjoliver 0:4788e1df7b55 6 AnalogOut& motorBrake,
rwcjoliver 0:4788e1df7b55 7 DigitalOut& keySwitch,
rwcjoliver 0:4788e1df7b55 8 DigitalOut& directionFwd,
rwcjoliver 0:4788e1df7b55 9 DigitalOut& directionRev,
rwcjoliver 0:4788e1df7b55 10 DigitalOut& footSwitch,
rwcjoliver 0:4788e1df7b55 11 DigitalOut& seatSwitch,
rwcjoliver 0:4788e1df7b55 12 DigitalOut& inchFwd,
rwcjoliver 0:4788e1df7b55 13 DigitalOut& speedLimit2,
rwcjoliver 0:4788e1df7b55 14 DigitalOut& speedLimit3) :
rwcjoliver 0:4788e1df7b55 15
rwcjoliver 0:4788e1df7b55 16 _motorAccelerator(motorAccelerator),
rwcjoliver 0:4788e1df7b55 17 _motorBrake(motorBrake),
rwcjoliver 0:4788e1df7b55 18 _keySwitch(keySwitch),
rwcjoliver 0:4788e1df7b55 19 _directionFwd(directionFwd),
rwcjoliver 0:4788e1df7b55 20 _directionRev(directionRev),
rwcjoliver 0:4788e1df7b55 21 _footSwitch(footSwitch),
rwcjoliver 0:4788e1df7b55 22 _seatSwitch(seatSwitch),
rwcjoliver 0:4788e1df7b55 23 _inchFwd(inchFwd),
rwcjoliver 0:4788e1df7b55 24 _speedLimit2(speedLimit2),
rwcjoliver 0:4788e1df7b55 25 _speedLimit3(speedLimit3)
rwcjoliver 0:4788e1df7b55 26 {
rwcjoliver 0:4788e1df7b55 27 _motorAccelerator = 0;
rwcjoliver 0:4788e1df7b55 28 _motorBrake = 0;
rwcjoliver 0:4788e1df7b55 29 // _contactMtr = 0;
rwcjoliver 0:4788e1df7b55 30 _keySwitch = 0;
rwcjoliver 0:4788e1df7b55 31 _directionFwd = 0;
rwcjoliver 0:4788e1df7b55 32 _directionRev = 0;
rwcjoliver 0:4788e1df7b55 33 _footSwitch = 0;
rwcjoliver 0:4788e1df7b55 34 _seatSwitch = 0;
rwcjoliver 0:4788e1df7b55 35 _inchFwd = 1;
rwcjoliver 0:4788e1df7b55 36 _speedLimit2 = 1;
rwcjoliver 0:4788e1df7b55 37 _speedLimit3 = 0; // SET MAX SPEED MODE BY DEFAULT
rwcjoliver 0:4788e1df7b55 38 }
rwcjoliver 0:4788e1df7b55 39
rwcjoliver 0:4788e1df7b55 40
as96 36:5c61710813b3 41 void Motor::turnOn()
as96 36:5c61710813b3 42 {
rwcjoliver 0:4788e1df7b55 43 _keySwitch = 1;
rwcjoliver 0:4788e1df7b55 44 // pc.printf("Motor Switched On\r\n");
rwcjoliver 0:4788e1df7b55 45 }
rwcjoliver 0:4788e1df7b55 46
rwcjoliver 0:4788e1df7b55 47 void Motor::turnOff() {
rwcjoliver 0:4788e1df7b55 48 _keySwitch = 0;
rwcjoliver 0:4788e1df7b55 49 // pc.printf("Motor Switched Off\r\n");
rwcjoliver 0:4788e1df7b55 50 }
rwcjoliver 0:4788e1df7b55 51
as96 36:5c61710813b3 52 void Motor::closeDeadman()
as96 36:5c61710813b3 53 {
rwcjoliver 0:4788e1df7b55 54 _footSwitch = 1;
rwcjoliver 0:4788e1df7b55 55 _seatSwitch = 1;
rwcjoliver 0:4788e1df7b55 56 }
rwcjoliver 0:4788e1df7b55 57
as96 36:5c61710813b3 58 void Motor::releaseDeadman()
as96 36:5c61710813b3 59 {
rwcjoliver 0:4788e1df7b55 60 _footSwitch = 0;
rwcjoliver 0:4788e1df7b55 61 _seatSwitch = 0;
rwcjoliver 0:4788e1df7b55 62 }
rwcjoliver 0:4788e1df7b55 63
as96 36:5c61710813b3 64 void Motor::setForward()
as96 36:5c61710813b3 65 {
rwcjoliver 0:4788e1df7b55 66 _directionFwd = 1;
rwcjoliver 0:4788e1df7b55 67 _directionRev = 0;
rwcjoliver 0:4788e1df7b55 68 // pc.printf("Motor Set to Forward\r\n");
rwcjoliver 0:4788e1df7b55 69 }
rwcjoliver 0:4788e1df7b55 70
as96 36:5c61710813b3 71 void Motor::setPark()
as96 36:5c61710813b3 72 {
rwcjoliver 0:4788e1df7b55 73 _directionFwd = 0;
rwcjoliver 0:4788e1df7b55 74 _directionRev = 0;
rwcjoliver 0:4788e1df7b55 75
rwcjoliver 0:4788e1df7b55 76 // pc.printf("Motor Set to Park\r\n");
rwcjoliver 0:4788e1df7b55 77 }
rwcjoliver 0:4788e1df7b55 78
as96 36:5c61710813b3 79 void Motor::setReverse()
as96 36:5c61710813b3 80 {
rwcjoliver 0:4788e1df7b55 81 _directionFwd = 0;
rwcjoliver 0:4788e1df7b55 82 _directionRev = 1;
rwcjoliver 0:4788e1df7b55 83 // pc.printf("Motor Set to Reverse\r\n");
rwcjoliver 0:4788e1df7b55 84 }
rwcjoliver 0:4788e1df7b55 85
as96 36:5c61710813b3 86 void Motor::engage()
as96 36:5c61710813b3 87 {
rwcjoliver 0:4788e1df7b55 88 // _contactMtr = 1;
rwcjoliver 0:4788e1df7b55 89 // pc.printf("Motor Contactor Engaged\r\n");
rwcjoliver 0:4788e1df7b55 90 }
rwcjoliver 0:4788e1df7b55 91
as96 36:5c61710813b3 92 void Motor::disengage()
as96 36:5c61710813b3 93 {
as96 36:5c61710813b3 94
rwcjoliver 0:4788e1df7b55 95 // _contactMtr = 0;
rwcjoliver 0:4788e1df7b55 96
rwcjoliver 0:4788e1df7b55 97 setPark();
rwcjoliver 0:4788e1df7b55 98
rwcjoliver 0:4788e1df7b55 99 // pc.printf("Motor Disengaged\r\n");
rwcjoliver 0:4788e1df7b55 100 }
rwcjoliver 0:4788e1df7b55 101
as96 36:5c61710813b3 102 void Motor::setSpeedMode(int speed)
as96 36:5c61710813b3 103 {
rwcjoliver 0:4788e1df7b55 104 switch (speed) {
rwcjoliver 0:4788e1df7b55 105 case 0: // Clear limits
rwcjoliver 0:4788e1df7b55 106
rwcjoliver 0:4788e1df7b55 107 _inchFwd = 0;
rwcjoliver 0:4788e1df7b55 108 _speedLimit2 = 0;
rwcjoliver 0:4788e1df7b55 109 _speedLimit3 = 0;
rwcjoliver 0:4788e1df7b55 110
rwcjoliver 0:4788e1df7b55 111 // pc.printf("Motor Speed Cleared\r\n");
rwcjoliver 0:4788e1df7b55 112 break;
rwcjoliver 0:4788e1df7b55 113
rwcjoliver 0:4788e1df7b55 114 case 1: // Inch Forward
rwcjoliver 0:4788e1df7b55 115
rwcjoliver 0:4788e1df7b55 116 _inchFwd = 1;
rwcjoliver 0:4788e1df7b55 117 _speedLimit2 = 0;
rwcjoliver 0:4788e1df7b55 118 _speedLimit3 = 0;
rwcjoliver 0:4788e1df7b55 119
rwcjoliver 0:4788e1df7b55 120 // pc.printf("Motor Set to Inch Forward\r\n");
rwcjoliver 0:4788e1df7b55 121 break;
rwcjoliver 0:4788e1df7b55 122
rwcjoliver 0:4788e1df7b55 123 case 2: // Speed 2
rwcjoliver 0:4788e1df7b55 124
rwcjoliver 0:4788e1df7b55 125 _inchFwd = 0;
rwcjoliver 0:4788e1df7b55 126 _speedLimit2 = 1;
rwcjoliver 0:4788e1df7b55 127 _speedLimit3 = 0;
rwcjoliver 0:4788e1df7b55 128
rwcjoliver 0:4788e1df7b55 129 // pc.printf("Motor Set to Speed Limit 2\r\n");
rwcjoliver 0:4788e1df7b55 130 break;
rwcjoliver 0:4788e1df7b55 131
rwcjoliver 0:4788e1df7b55 132 case 3: // Speed 3
rwcjoliver 0:4788e1df7b55 133
rwcjoliver 0:4788e1df7b55 134 _inchFwd = 0;
rwcjoliver 0:4788e1df7b55 135 _speedLimit2 = 0;
rwcjoliver 0:4788e1df7b55 136 _speedLimit3 = 1;
rwcjoliver 0:4788e1df7b55 137
rwcjoliver 0:4788e1df7b55 138 // pc.printf("Motor Set to Speed Limit 3\r\n");
rwcjoliver 0:4788e1df7b55 139 break;
rwcjoliver 0:4788e1df7b55 140 }
rwcjoliver 0:4788e1df7b55 141 }
rwcjoliver 0:4788e1df7b55 142
as96 36:5c61710813b3 143 void Motor::throttle(float throttleRate)
as96 36:5c61710813b3 144 {
rwcjoliver 0:4788e1df7b55 145 // set the output voltage of the analog output pin specified as a percentage of Vcc (3.3V)
rwcjoliver 0:4788e1df7b55 146 _motorAccelerator = throttleRate; // Analog value between 0.0f and 1.0f
rwcjoliver 0:4788e1df7b55 147 // pc.printf("Throttling\r\n");
rwcjoliver 0:4788e1df7b55 148
rwcjoliver 0:4788e1df7b55 149 }
rwcjoliver 0:4788e1df7b55 150
as96 36:5c61710813b3 151 void Motor::brake(float brakeRate)
as96 36:5c61710813b3 152 {
rwcjoliver 0:4788e1df7b55 153 _motorBrake = brakeRate; // Analog value between 0.0f and 1.0f
rwcjoliver 0:4788e1df7b55 154 // pc.printf("Motor Braking\r\n");
rwcjoliver 0:4788e1df7b55 155 }