new throttle bar :P
Dashboard.h@9:39b8675b6176, 2017-05-23 (annotated)
- Committer:
- Marrkk_92
- Date:
- Tue May 23 21:40:31 2017 +0000
- Revision:
- 9:39b8675b6176
- Parent:
- 8:0a9f811c3ae6
update for temp bars and comment-out updateThrottleBar
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
zathorix | 0:0afde8480a61 | 1 | #ifndef DASH_H |
zathorix | 0:0afde8480a61 | 2 | #include "mbed.h" |
zathorix | 0:0afde8480a61 | 3 | #include "pinout.h" |
zathorix | 0:0afde8480a61 | 4 | #include "oled_characters.h" //all OLED chars + logos |
zathorix | 0:0afde8480a61 | 5 | |
zathorix | 0:0afde8480a61 | 6 | #define MENU_TIMEOUT_TIME 5.0 //menu timeout in seconds [s] |
zathorix | 0:0afde8480a61 | 7 | #define MAX_POWER_IN 1500 //max power in for power bars [W] |
zathorix | 0:0afde8480a61 | 8 | #define MAX_POWER_OUT 2000 //max power out for power bars [W] |
zathorix | 0:0afde8480a61 | 9 | #define MAX_TEMP_MOTOR 80 //alert when exceeding temp ['C] |
zathorix | 0:0afde8480a61 | 10 | #define MAX_TEMP_BATTERY 60 //alert when exceeding temp ['C] |
zathorix | 0:0afde8480a61 | 11 | #define MAX_REVERSE_VELOCITY 20 //max velocity for allowing reverse [km/h] |
zathorix | 0:0afde8480a61 | 12 | #define MIN_SOLAR_PANEL_VOLTAGE 30 //min voltage provided by solar panels [V] |
zathorix | 0:0afde8480a61 | 13 | #define MIN_FLY_VELOCITY 15 //min velocity to request fly [km/h] |
zathorix | 0:0afde8480a61 | 14 | #define BATTERY_LOW_ALERT 10 //min battery percentage [%, min] |
zathorix | 0:0afde8480a61 | 15 | |
zathorix | 0:0afde8480a61 | 16 | #define PI 3.141592 |
zathorix | 0:0afde8480a61 | 17 | #define SPI_FREQUENCY 5000000 |
zathorix | 0:0afde8480a61 | 18 | |
zathorix | 0:0afde8480a61 | 19 | class Dashboard { |
zathorix | 0:0afde8480a61 | 20 | |
zathorix | 0:0afde8480a61 | 21 | private: |
zathorix | 0:0afde8480a61 | 22 | |
zathorix | 0:0afde8480a61 | 23 | void drawPixel(int screen_number, uint8_t row, uint8_t col, uint8_t brightness); |
zathorix | 0:0afde8480a61 | 24 | void writeNumber(int screen_number, int input_number, char row, char col, int digits, bool large); |
zathorix | 0:0afde8480a61 | 25 | void writeLetter(int screen_number, char input, int row, int col); |
zathorix | 0:0afde8480a61 | 26 | void drawBitmap(int screen_number, int number, char row, char col, int width, int height); |
zathorix | 0:0afde8480a61 | 27 | void updateBatteryBar(int screen_number, int percentage, int row, int col, int width, int height); |
zathorix | 0:0afde8480a61 | 28 | |
zathorix | 0:0afde8480a61 | 29 | public: |
zathorix | 0:0afde8480a61 | 30 | |
zathorix | 0:0afde8480a61 | 31 | Dashboard(void); |
zathorix | 0:0afde8480a61 | 32 | |
zathorix | 0:0afde8480a61 | 33 | void clearDisplay(int screen_number); |
zathorix | 0:0afde8480a61 | 34 | |
zathorix | 0:0afde8480a61 | 35 | void command(int screen_number, uint8_t c); |
zathorix | 0:0afde8480a61 | 36 | |
zathorix | 0:0afde8480a61 | 37 | void data(int screen_number, uint8_t c); |
zathorix | 0:0afde8480a61 | 38 | |
zathorix | 0:0afde8480a61 | 39 | void powerOnOLED(int screen_number); |
zathorix | 0:0afde8480a61 | 40 | |
zathorix | 0:0afde8480a61 | 41 | void welcomeScreen(); |
zathorix | 0:0afde8480a61 | 42 | |
zathorix | 0:0afde8480a61 | 43 | void resetOLED(); |
Marrkk_92 | 6:051411e193b0 | 44 | |
Marrkk_92 | 8:0a9f811c3ae6 | 45 | void updateTemperatureBars(int motor_temperature, int battery_temperature); |
Marrkk_92 | 8:0a9f811c3ae6 | 46 | |
Marrkk_92 | 6:051411e193b0 | 47 | void updateThrottleBar(int screen_number, int percentage, int row, int col, int width, int height); |
zathorix | 0:0afde8480a61 | 48 | |
zathorix | 0:0afde8480a61 | 49 | void displayData1(int rpm_motor, int battery_temperature, int motor_temperature, int voltage_in, int power_out, int power_in); |
zathorix | 0:0afde8480a61 | 50 | |
zathorix | 0:0afde8480a61 | 51 | void displayData2(int battery_voltage, int battery_temperature, int motor_temperature, int voltage_in, int power_out, int power_in); |
zathorix | 0:0afde8480a61 | 52 | |
zathorix | 0:0afde8480a61 | 53 | void checkForErrors(int current_menu, int velocity, int battery_temperature, int motor_temperature, int battery_percentage_left, int battery_minutes_left); |
zathorix | 0:0afde8480a61 | 54 | |
zathorix | 0:0afde8480a61 | 55 | void showBatteryMinutesLeft(int battery_minutes_left); |
zathorix | 0:0afde8480a61 | 56 | |
zathorix | 4:f6aa318ecda0 | 57 | void showBatteryPercentageLeft(unsigned char battery_percentage_left); |
zathorix | 0:0afde8480a61 | 58 | |
zathorix | 0:0afde8480a61 | 59 | void showRaceMinutesDone(int race_minutes_done); |
zathorix | 0:0afde8480a61 | 60 | |
zathorix | 0:0afde8480a61 | 61 | void showRaceMinutesLeft(int race_minutes_left); |
zathorix | 0:0afde8480a61 | 62 | |
zathorix | 0:0afde8480a61 | 63 | void showRacePercentageLeft(int race_percentage_left); |
zathorix | 0:0afde8480a61 | 64 | |
zathorix | 0:0afde8480a61 | 65 | void checkTransmitter(bool transmitting); |
zathorix | 0:0afde8480a61 | 66 | |
zathorix | 4:f6aa318ecda0 | 67 | void displayTime(long long int time); |
zathorix | 0:0afde8480a61 | 68 | |
zathorix | 0:0afde8480a61 | 69 | void displayAdvisedThrottle(int advised_throttle_power); |
zathorix | 0:0afde8480a61 | 70 | |
zathorix | 0:0afde8480a61 | 71 | void displayThrottle(int throttle_power, bool reverse); |
zathorix | 0:0afde8480a61 | 72 | |
zathorix | 0:0afde8480a61 | 73 | void displayVelocity(int velocity); |
zathorix | 0:0afde8480a61 | 74 | |
zathorix | 0:0afde8480a61 | 75 | void updateProgressCircle(int screen_number, int percentage); |
zathorix | 0:0afde8480a61 | 76 | |
zathorix | 0:0afde8480a61 | 77 | void updatePowerBars(int power_out, int power_in); |
zathorix | 0:0afde8480a61 | 78 | |
zathorix | 0:0afde8480a61 | 79 | }; |
zathorix | 0:0afde8480a61 | 80 | |
zathorix | 0:0afde8480a61 | 81 | |
zathorix | 0:0afde8480a61 | 82 | #endif |