new battery bar

Dependencies:   CAN_IDs CanControl Dashboard PinDetect PowerControl mbed-rtos mbed

Committer:
Marrkk_92
Date:
Tue May 23 21:40:51 2017 +0000
Revision:
28:63ef4790703f
Parent:
21:0d5e4d19eaab
update for temp bars and comment-out updateThrottleBar

Who changed what in which revision?

UserRevisionLine numberNew contents of line
zathorix 21:0d5e4d19eaab 1 /*******************************************************************************
zathorix 21:0d5e4d19eaab 2 This software is especially designed for Solarboat Twente for the use in their Solarboat v1.0
zathorix 21:0d5e4d19eaab 3
zathorix 21:0d5e4d19eaab 4 Written by:
zathorix 21:0d5e4d19eaab 5 Niels Leijen, Jesse van Rhijn, Bram Seinhorst
zathorix 21:0d5e4d19eaab 6
zathorix 21:0d5e4d19eaab 7 Thanks to:
zathorix 21:0d5e4d19eaab 8 Jasper Admiraal, Hidde Pik (hihihihi), Lisa Postma, Heleen Jeurink, Ruben Peters,
zathorix 21:0d5e4d19eaab 9 Martijn Groot Jebbink, Martijn Wilpshaar, Bram Seinhorst, Robert Geels, Arnoud Meutstege,
zathorix 21:0d5e4d19eaab 10 Jeroen te Braake, Ids de Vos, Jesse van Rhijn, Sam Benou, Niels Leijen and Mark Bruijn
zathorix 21:0d5e4d19eaab 11
zathorix 21:0d5e4d19eaab 12 DISCLAIMER:
zathorix 21:0d5e4d19eaab 13 THIS SOFTWARE IS SUPPLIED "AS IS" WITHOUT ANY WARRANTIES AND SUPPORT.
zathorix 21:0d5e4d19eaab 14 SOLARBOATTWENTE ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE USE OF THE SOFTWARE.
zathorix 21:0d5e4d19eaab 15 *******************************************************************************/
zathorix 21:0d5e4d19eaab 16
zathorix 21:0d5e4d19eaab 17 // uncomment to send debug information
zathorix 21:0d5e4d19eaab 18 #define DEBUG
zathorix 21:0d5e4d19eaab 19
zathorix 21:0d5e4d19eaab 20 //include 3rd party libraries
zathorix 21:0d5e4d19eaab 21 #include "mbed.h" //needs to be revision 136 else SD filesystem will not work
zathorix 21:0d5e4d19eaab 22 #include "rtos.h"
zathorix 21:0d5e4d19eaab 23
zathorix 21:0d5e4d19eaab 24 // include Solarboat libraries
zathorix 21:0d5e4d19eaab 25 #include "pinout.h"
zathorix 21:0d5e4d19eaab 26 #include "CAN_IDs.h"
zathorix 21:0d5e4d19eaab 27 #include "PowerControl.h"
zathorix 21:0d5e4d19eaab 28 #include "TelemetryAndDaq.h"
zathorix 21:0d5e4d19eaab 29 #include "Dashboard.h"
zathorix 21:0d5e4d19eaab 30
zathorix 21:0d5e4d19eaab 31 #define SPEED_THRESH 0.02 //threshold for setting speed to prevent CAN spam
zathorix 21:0d5e4d19eaab 32
zathorix 21:0d5e4d19eaab 33 // initialize serial connection for debug
zathorix 21:0d5e4d19eaab 34 #ifdef DEBUG
zathorix 21:0d5e4d19eaab 35 RawSerial pc(SERIAL_TX, SERIAL_RX);
zathorix 21:0d5e4d19eaab 36 #endif
zathorix 21:0d5e4d19eaab 37
zathorix 21:0d5e4d19eaab 38 // initialize canbus
zathorix 21:0d5e4d19eaab 39 CAN can(CAN_RD, CAN_TD);
zathorix 21:0d5e4d19eaab 40
zathorix 21:0d5e4d19eaab 41 //init throttle
zathorix 21:0d5e4d19eaab 42 AnalogIn analogThrottle(STEER_THROTTLE);
zathorix 21:0d5e4d19eaab 43
zathorix 21:0d5e4d19eaab 44 //initialize steering wheel buttons
zathorix 21:0d5e4d19eaab 45
zathorix 21:0d5e4d19eaab 46 //NEEDS FIXING!!!!!!!!!!!
zathorix 21:0d5e4d19eaab 47 DigitalIn menu_button(STEER_MENU);
zathorix 21:0d5e4d19eaab 48 DigitalIn fly_button(STEER_FLY);
zathorix 21:0d5e4d19eaab 49 DigitalIn reverse_button(STEER_REV);
zathorix 21:0d5e4d19eaab 50
zathorix 21:0d5e4d19eaab 51 // initialze onboard leds
zathorix 21:0d5e4d19eaab 52 DigitalOut ledError(LED3);
zathorix 21:0d5e4d19eaab 53 DigitalOut ledSD(LED1);
zathorix 21:0d5e4d19eaab 54 DigitalOut ledFona(LED5);
zathorix 21:0d5e4d19eaab 55 DigitalOut led24V(LED4);
zathorix 21:0d5e4d19eaab 56
zathorix 21:0d5e4d19eaab 57 DigitalOut buckXSens(BUCK3);
zathorix 21:0d5e4d19eaab 58 DigitalOut buckScreen(BUCK4);
zathorix 21:0d5e4d19eaab 59 DigitalOut buck24V(BUCK5);
zathorix 21:0d5e4d19eaab 60
zathorix 21:0d5e4d19eaab 61 //external classes
zathorix 21:0d5e4d19eaab 62 extern DataAcquisition daq;
zathorix 21:0d5e4d19eaab 63 extern Telemetrics telemetrics;
zathorix 21:0d5e4d19eaab 64 extern Dashboard dash;
zathorix 21:0d5e4d19eaab 65
zathorix 21:0d5e4d19eaab 66 //external variables
zathorix 21:0d5e4d19eaab 67 extern long long int starttime;
zathorix 21:0d5e4d19eaab 68
zathorix 21:0d5e4d19eaab 69 //external threads
zathorix 21:0d5e4d19eaab 70 extern Thread threadbg;
zathorix 21:0d5e4d19eaab 71
zathorix 21:0d5e4d19eaab 72 //global var for speed; ugly solution but works
zathorix 21:0d5e4d19eaab 73 float speed = 0;
zathorix 21:0d5e4d19eaab 74
zathorix 21:0d5e4d19eaab 75 //thread function declarations
zathorix 21:0d5e4d19eaab 76 void readThrottle();
zathorix 21:0d5e4d19eaab 77 void power();
zathorix 21:0d5e4d19eaab 78 void test();
zathorix 21:0d5e4d19eaab 79 void background();
zathorix 21:0d5e4d19eaab 80 void screens();
zathorix 21:0d5e4d19eaab 81
zathorix 21:0d5e4d19eaab 82 //screen function declarations
zathorix 21:0d5e4d19eaab 83 void readEssentials();
zathorix 21:0d5e4d19eaab 84
zathorix 21:0d5e4d19eaab 85 //Screen placeholder variables
zathorix 21:0d5e4d19eaab 86 int battery_percentage_left = 0;
zathorix 21:0d5e4d19eaab 87 int battery_minutes_left = 0;
zathorix 21:0d5e4d19eaab 88 int race_percentage_left = 0;
zathorix 21:0d5e4d19eaab 89 int race_minutes_left = 0;
zathorix 21:0d5e4d19eaab 90 int race_minutes_done = 0;
zathorix 21:0d5e4d19eaab 91 int throttle_power = 0;
zathorix 21:0d5e4d19eaab 92 int advised_throttle_power = 0;
zathorix 21:0d5e4d19eaab 93 int power_in = 0;
zathorix 21:0d5e4d19eaab 94 int power_out = 0;
zathorix 21:0d5e4d19eaab 95 int voltage_in = 0;
zathorix 21:0d5e4d19eaab 96 int motor_temperature = 0;
zathorix 21:0d5e4d19eaab 97 int battery_temperature = 0;
zathorix 21:0d5e4d19eaab 98 int velocity = 0;
zathorix 21:0d5e4d19eaab 99 int rpm_motor = 0;
zathorix 21:0d5e4d19eaab 100 int checkIfButtonPressed(int current_menu);
zathorix 21:0d5e4d19eaab 101 int battery_voltage = 0;
zathorix 21:0d5e4d19eaab 102 int current_menu = 0;
zathorix 21:0d5e4d19eaab 103 time_t start = time(0);
zathorix 21:0d5e4d19eaab 104 void readEssentials();
zathorix 21:0d5e4d19eaab 105 bool menu_button_pressed = true;
zathorix 21:0d5e4d19eaab 106 bool reverse_button_pressed = true;
zathorix 21:0d5e4d19eaab 107 bool fly_request = true;
zathorix 21:0d5e4d19eaab 108 bool transmitting = false;
zathorix 21:0d5e4d19eaab 109 bool reverse = false;
zathorix 21:0d5e4d19eaab 110
zathorix 21:0d5e4d19eaab 111
zathorix 21:0d5e4d19eaab 112 // Thread 0 - DO NOT CHANGE THIS!
zathorix 21:0d5e4d19eaab 113 int main() {
zathorix 21:0d5e4d19eaab 114 #ifdef DEBUG
zathorix 21:0d5e4d19eaab 115 pc.baud(115200);
zathorix 21:0d5e4d19eaab 116 pc.printf("Starting SOS V1.0\n");
zathorix 21:0d5e4d19eaab 117 #endif
zathorix 21:0d5e4d19eaab 118 // change CAN frequency
zathorix 21:0d5e4d19eaab 119 can.frequency(250000);
zathorix 21:0d5e4d19eaab 120
zathorix 21:0d5e4d19eaab 121 // initialze threads
zathorix 21:0d5e4d19eaab 122 Thread threadpower;
zathorix 21:0d5e4d19eaab 123 Thread threadtest;
zathorix 21:0d5e4d19eaab 124 Thread threadthrottle;
zathorix 21:0d5e4d19eaab 125 Thread threaddash;
zathorix 21:0d5e4d19eaab 126
zathorix 21:0d5e4d19eaab 127 // start threads
zathorix 21:0d5e4d19eaab 128 threadpower.start(&power);
zathorix 21:0d5e4d19eaab 129 threadbg.start(&background);
zathorix 21:0d5e4d19eaab 130 threadtest.start(&test);
zathorix 21:0d5e4d19eaab 131 threaddash.start(&screens);
zathorix 21:0d5e4d19eaab 132 threadthrottle.start(&readThrottle);
zathorix 21:0d5e4d19eaab 133
zathorix 21:0d5e4d19eaab 134 telemetrics.enable();
zathorix 21:0d5e4d19eaab 135 daq.enable(starttime);
zathorix 21:0d5e4d19eaab 136
zathorix 21:0d5e4d19eaab 137 //BMS message parser, now imlpemented in DAQ lib
zathorix 21:0d5e4d19eaab 138 /*CANMessage msg;
zathorix 21:0d5e4d19eaab 139 while(1) {
zathorix 21:0d5e4d19eaab 140 if(can.read(msg)) {
zathorix 21:0d5e4d19eaab 141 pc.printf("Message received: 0x %x; %u %u%u %d%d %c %u %u\n", msg.id, msg.data[0], msg.data[1], msg.data[2], msg.data[3], msg.data[4], msg.data[5], msg.data[6], msg.data[7]);
zathorix 21:0d5e4d19eaab 142 }
zathorix 21:0d5e4d19eaab 143 Thread::wait(10);
zathorix 21:0d5e4d19eaab 144 }*/
zathorix 21:0d5e4d19eaab 145 Thread::wait(osWaitForever);
zathorix 21:0d5e4d19eaab 146 }
zathorix 21:0d5e4d19eaab 147
zathorix 21:0d5e4d19eaab 148 //send motor command
zathorix 21:0d5e4d19eaab 149 void sendMotorSpeed(float throttle) {
zathorix 21:0d5e4d19eaab 150 if ((abs(throttle - speed)) > SPEED_THRESH) {
zathorix 21:0d5e4d19eaab 151 union {
zathorix 21:0d5e4d19eaab 152 char msg[4];
zathorix 21:0d5e4d19eaab 153 float value;
zathorix 21:0d5e4d19eaab 154 } packet;
zathorix 21:0d5e4d19eaab 155 packet.value = throttle;
zathorix 21:0d5e4d19eaab 156 can.write(CANMessage(MOTOR_COMMAND, packet.msg));
zathorix 21:0d5e4d19eaab 157 printf("Sent motor speed: %f\r\n", packet.value);
zathorix 21:0d5e4d19eaab 158 speed = throttle;
zathorix 21:0d5e4d19eaab 159 }
zathorix 21:0d5e4d19eaab 160 }
zathorix 21:0d5e4d19eaab 161
zathorix 21:0d5e4d19eaab 162 //thread functions
zathorix 21:0d5e4d19eaab 163 void readThrottle() {
zathorix 21:0d5e4d19eaab 164 float throttleread;
zathorix 21:0d5e4d19eaab 165 while(1) {
zathorix 21:0d5e4d19eaab 166 throttleread = 2*(0.5 - analogThrottle.read());
zathorix 21:0d5e4d19eaab 167 sendMotorSpeed(throttleread);
zathorix 21:0d5e4d19eaab 168 Thread::wait(10);
zathorix 21:0d5e4d19eaab 169 }
zathorix 21:0d5e4d19eaab 170 }
zathorix 21:0d5e4d19eaab 171
zathorix 21:0d5e4d19eaab 172
zathorix 21:0d5e4d19eaab 173
zathorix 21:0d5e4d19eaab 174 void power() {
zathorix 21:0d5e4d19eaab 175 PowerControl powercontrol(PUSH_GREEN);
zathorix 21:0d5e4d19eaab 176
zathorix 21:0d5e4d19eaab 177 #ifdef DEBUG
zathorix 21:0d5e4d19eaab 178 pc.printf("Thread 1 - Power started\r\n ");
zathorix 21:0d5e4d19eaab 179 #endif
zathorix 21:0d5e4d19eaab 180
zathorix 21:0d5e4d19eaab 181 Thread::wait(osWaitForever);
zathorix 21:0d5e4d19eaab 182 }
zathorix 21:0d5e4d19eaab 183
zathorix 21:0d5e4d19eaab 184 void test() {
zathorix 21:0d5e4d19eaab 185 ledError = 0;
zathorix 21:0d5e4d19eaab 186 ledSD = 0;
zathorix 21:0d5e4d19eaab 187 ledFona = 0 ;
zathorix 21:0d5e4d19eaab 188 led24V=1;
zathorix 21:0d5e4d19eaab 189
zathorix 21:0d5e4d19eaab 190 //DigitalOut buckCan(BUCK2);
zathorix 21:0d5e4d19eaab 191 buckXSens = 0;
zathorix 21:0d5e4d19eaab 192 buckScreen = 1;
zathorix 21:0d5e4d19eaab 193 buck24V = 1;
zathorix 21:0d5e4d19eaab 194 }
zathorix 21:0d5e4d19eaab 195
zathorix 21:0d5e4d19eaab 196 void screens()
zathorix 21:0d5e4d19eaab 197 {
zathorix 21:0d5e4d19eaab 198 dash.powerOnOLED(1);
zathorix 21:0d5e4d19eaab 199 dash.powerOnOLED(2);
zathorix 21:0d5e4d19eaab 200 dash.powerOnOLED(3);
zathorix 21:0d5e4d19eaab 201
zathorix 21:0d5e4d19eaab 202 dash.clearDisplay(1);
zathorix 21:0d5e4d19eaab 203 dash.clearDisplay(2);
zathorix 21:0d5e4d19eaab 204 dash.clearDisplay(3);
zathorix 21:0d5e4d19eaab 205
zathorix 21:0d5e4d19eaab 206 while(1) {
zathorix 21:0d5e4d19eaab 207
zathorix 21:0d5e4d19eaab 208 Thread::wait(100);
zathorix 21:0d5e4d19eaab 209
zathorix 21:0d5e4d19eaab 210 //listen to menu button
zathorix 21:0d5e4d19eaab 211 current_menu = checkIfButtonPressed(current_menu);
zathorix 21:0d5e4d19eaab 212 //listen to steering wheel at all time
zathorix 21:0d5e4d19eaab 213 readEssentials();
zathorix 21:0d5e4d19eaab 214 //check for errors at all time
zathorix 21:0d5e4d19eaab 215 dash.checkForErrors(current_menu, velocity, battery_temperature, motor_temperature, battery_percentage_left, battery_minutes_left);
zathorix 21:0d5e4d19eaab 216
zathorix 21:0d5e4d19eaab 217
zathorix 21:0d5e4d19eaab 218 switch (current_menu) {
zathorix 21:0d5e4d19eaab 219
zathorix 21:0d5e4d19eaab 220 case 0:
zathorix 21:0d5e4d19eaab 221 //circular display (1)
zathorix 21:0d5e4d19eaab 222 //updateProgressCircle(1, race_percentage_left);
zathorix 21:0d5e4d19eaab 223 race_minutes_done = time(0)/60; //TODO give starting point
zathorix 21:0d5e4d19eaab 224 dash.showRaceMinutesDone(race_minutes_done);
zathorix 21:0d5e4d19eaab 225 dash.showRaceMinutesLeft(race_minutes_left);
zathorix 21:0d5e4d19eaab 226 dash.showRacePercentageLeft(race_percentage_left);
zathorix 21:0d5e4d19eaab 227
zathorix 21:0d5e4d19eaab 228 //main display (2)
zathorix 21:0d5e4d19eaab 229 dash.displayTime();
zathorix 21:0d5e4d19eaab 230 dash.checkTransmitter(transmitting);
zathorix 21:0d5e4d19eaab 231 dash.displayVelocity(velocity);
zathorix 21:0d5e4d19eaab 232 dash.displayThrottle(throttle_power, reverse);
zathorix 21:0d5e4d19eaab 233 //displayAdvisedThrottle(advised_throttle_power);
zathorix 21:0d5e4d19eaab 234 dash.updatePowerBars(power_out, power_in);
zathorix 21:0d5e4d19eaab 235
zathorix 21:0d5e4d19eaab 236 //circular display (3)
zathorix 21:0d5e4d19eaab 237 //updateProgressCircle(3, battery_percentage_left);
zathorix 21:0d5e4d19eaab 238 dash.showBatteryMinutesLeft(battery_minutes_left);
zathorix 21:0d5e4d19eaab 239 dash.showBatteryPercentageLeft(battery_percentage_left);
zathorix 21:0d5e4d19eaab 240 break;
zathorix 21:0d5e4d19eaab 241
zathorix 21:0d5e4d19eaab 242 case 1:
zathorix 21:0d5e4d19eaab 243 //circular display (1)
zathorix 21:0d5e4d19eaab 244 //updateProgressCircle(1, race_percentage_left);
zathorix 21:0d5e4d19eaab 245 race_minutes_done = time(0)/60; //TODO give starting point
zathorix 21:0d5e4d19eaab 246 dash.showRaceMinutesDone(race_minutes_done);
zathorix 21:0d5e4d19eaab 247 dash.showRaceMinutesLeft(race_minutes_left);
zathorix 21:0d5e4d19eaab 248 dash.showRacePercentageLeft(race_percentage_left);
zathorix 21:0d5e4d19eaab 249
zathorix 21:0d5e4d19eaab 250 //main display (2)
zathorix 21:0d5e4d19eaab 251 dash.displayData1(rpm_motor, battery_temperature, motor_temperature, voltage_in, power_out, power_in);
zathorix 21:0d5e4d19eaab 252
zathorix 21:0d5e4d19eaab 253 //circular display (3)
zathorix 21:0d5e4d19eaab 254 //updateProgressCircle(3, battery_percentage_left);
zathorix 21:0d5e4d19eaab 255 dash.showBatteryMinutesLeft(battery_minutes_left);
zathorix 21:0d5e4d19eaab 256 dash.showBatteryPercentageLeft(battery_percentage_left);
zathorix 21:0d5e4d19eaab 257 break;
zathorix 21:0d5e4d19eaab 258
zathorix 21:0d5e4d19eaab 259 case 2:
zathorix 21:0d5e4d19eaab 260 //circular display (1)
zathorix 21:0d5e4d19eaab 261 //updateProgressCircle(1, race_percentage_left);
zathorix 21:0d5e4d19eaab 262 race_minutes_done = time(0)/60; //TODO give starting point
zathorix 21:0d5e4d19eaab 263 dash.showRaceMinutesDone(race_minutes_done);
zathorix 21:0d5e4d19eaab 264 dash.showRaceMinutesLeft(race_minutes_left);
zathorix 21:0d5e4d19eaab 265 dash.showRacePercentageLeft(race_percentage_left);
zathorix 21:0d5e4d19eaab 266
zathorix 21:0d5e4d19eaab 267 //main display (2)
zathorix 21:0d5e4d19eaab 268 dash.displayData2(battery_voltage, battery_temperature, motor_temperature, voltage_in, power_out, power_in);
zathorix 21:0d5e4d19eaab 269
zathorix 21:0d5e4d19eaab 270 //circular display (3)
zathorix 21:0d5e4d19eaab 271 //updateProgressCircle(3, battery_percentage_left);
zathorix 21:0d5e4d19eaab 272 dash.showBatteryMinutesLeft(battery_minutes_left);
zathorix 21:0d5e4d19eaab 273 dash.showBatteryPercentageLeft(battery_percentage_left);
zathorix 21:0d5e4d19eaab 274 break;
zathorix 21:0d5e4d19eaab 275 default:
zathorix 21:0d5e4d19eaab 276 //empty, catch
zathorix 21:0d5e4d19eaab 277 break;
zathorix 21:0d5e4d19eaab 278 }
zathorix 21:0d5e4d19eaab 279 }
zathorix 21:0d5e4d19eaab 280 }
zathorix 21:0d5e4d19eaab 281
zathorix 21:0d5e4d19eaab 282 int checkIfButtonPressed(int current_menu)
zathorix 21:0d5e4d19eaab 283 {
zathorix 21:0d5e4d19eaab 284 //--------------MENU BUTTON--------------------
zathorix 21:0d5e4d19eaab 285 if (menu_button == 0 && menu_button_pressed == false) {
zathorix 21:0d5e4d19eaab 286 menu_button_pressed = true;
zathorix 21:0d5e4d19eaab 287 start = time(0);
zathorix 21:0d5e4d19eaab 288 current_menu++;
zathorix 21:0d5e4d19eaab 289 if (current_menu > 2) current_menu = 0;
zathorix 21:0d5e4d19eaab 290 dash.clearDisplay(1);
zathorix 21:0d5e4d19eaab 291 dash.clearDisplay(2);
zathorix 21:0d5e4d19eaab 292 dash.clearDisplay(3);
zathorix 21:0d5e4d19eaab 293 } else if (menu_button == 1) menu_button_pressed = false;
zathorix 21:0d5e4d19eaab 294 //timeout for back to home screen
zathorix 21:0d5e4d19eaab 295 double seconds_since_start = difftime(time(0), start);
zathorix 21:0d5e4d19eaab 296 if (current_menu != 0 && seconds_since_start > MENU_TIMEOUT_TIME) {
zathorix 21:0d5e4d19eaab 297 current_menu = 0;
zathorix 21:0d5e4d19eaab 298 dash.clearDisplay(1);
zathorix 21:0d5e4d19eaab 299 dash.clearDisplay(2);
zathorix 21:0d5e4d19eaab 300 dash.clearDisplay(3);
zathorix 21:0d5e4d19eaab 301 }
zathorix 21:0d5e4d19eaab 302
zathorix 21:0d5e4d19eaab 303 //--------------REVERSE BUTTON--------------------
zathorix 21:0d5e4d19eaab 304 if (reverse_button == 0 && reverse_button_pressed == false) {
zathorix 21:0d5e4d19eaab 305 reverse_button_pressed = true;
zathorix 21:0d5e4d19eaab 306 if (velocity < MAX_REVERSE_VELOCITY) reverse = !reverse;
zathorix 21:0d5e4d19eaab 307 } else if (reverse_button == 1) reverse_button_pressed = false;
zathorix 21:0d5e4d19eaab 308
zathorix 21:0d5e4d19eaab 309 //--------------FLY BUTTON--------------------
zathorix 21:0d5e4d19eaab 310 if (fly_button == 0 && fly_request == false) {
zathorix 21:0d5e4d19eaab 311 fly_request = true;
zathorix 21:0d5e4d19eaab 312 if (velocity > MIN_FLY_VELOCITY) fly_request = !fly_request;
zathorix 21:0d5e4d19eaab 313 } else if (fly_button == 1) fly_request = false;
zathorix 21:0d5e4d19eaab 314
zathorix 21:0d5e4d19eaab 315 //return for menu
zathorix 21:0d5e4d19eaab 316 return current_menu;
zathorix 21:0d5e4d19eaab 317 }
zathorix 21:0d5e4d19eaab 318
zathorix 21:0d5e4d19eaab 319 void readEssentials()
zathorix 21:0d5e4d19eaab 320 {
zathorix 21:0d5e4d19eaab 321
zathorix 21:0d5e4d19eaab 322 //get current throttle set + adjust params -------- DEBUG
zathorix 21:0d5e4d19eaab 323 throttle_power = 100*(1 - analogThrottle);
zathorix 21:0d5e4d19eaab 324 power_out = 580;
zathorix 21:0d5e4d19eaab 325 power_in = 680;
zathorix 21:0d5e4d19eaab 326 velocity = 0.1*throttle_power;
zathorix 21:0d5e4d19eaab 327 battery_minutes_left = throttle_power/6;
zathorix 21:0d5e4d19eaab 328 battery_percentage_left = throttle_power/5;
zathorix 21:0d5e4d19eaab 329 motor_temperature = 68;
zathorix 21:0d5e4d19eaab 330 battery_temperature = 24;
zathorix 21:0d5e4d19eaab 331 battery_voltage = 45;
zathorix 21:0d5e4d19eaab 332 rpm_motor = throttle_power;
zathorix 21:0d5e4d19eaab 333 voltage_in = 44;
zathorix 21:0d5e4d19eaab 334 race_minutes_left = 12;
zathorix 21:0d5e4d19eaab 335 race_percentage_left = 100*race_minutes_done/(race_minutes_left+race_minutes_done);
zathorix 21:0d5e4d19eaab 336 }