new throttle bar :P
Dashboard.h@0:0afde8480a61, 2017-05-21 (annotated)
- Committer:
- zathorix
- Date:
- Sun May 21 20:13:31 2017 +0000
- Revision:
- 0:0afde8480a61
- Child:
- 4:f6aa318ecda0
Classes attempt #2 of many
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(); |
zathorix | 0:0afde8480a61 | 44 | |
zathorix | 0:0afde8480a61 | 45 | void displayData1(int rpm_motor, int battery_temperature, int motor_temperature, int voltage_in, int power_out, int power_in); |
zathorix | 0:0afde8480a61 | 46 | |
zathorix | 0:0afde8480a61 | 47 | void displayData2(int battery_voltage, int battery_temperature, int motor_temperature, int voltage_in, int power_out, int power_in); |
zathorix | 0:0afde8480a61 | 48 | |
zathorix | 0:0afde8480a61 | 49 | void checkForErrors(int current_menu, int velocity, int battery_temperature, int motor_temperature, int battery_percentage_left, int battery_minutes_left); |
zathorix | 0:0afde8480a61 | 50 | |
zathorix | 0:0afde8480a61 | 51 | void showBatteryMinutesLeft(int battery_minutes_left); |
zathorix | 0:0afde8480a61 | 52 | |
zathorix | 0:0afde8480a61 | 53 | void showBatteryPercentageLeft(int battery_percentage_left); |
zathorix | 0:0afde8480a61 | 54 | |
zathorix | 0:0afde8480a61 | 55 | void showRaceMinutesDone(int race_minutes_done); |
zathorix | 0:0afde8480a61 | 56 | |
zathorix | 0:0afde8480a61 | 57 | void showRaceMinutesLeft(int race_minutes_left); |
zathorix | 0:0afde8480a61 | 58 | |
zathorix | 0:0afde8480a61 | 59 | void showRacePercentageLeft(int race_percentage_left); |
zathorix | 0:0afde8480a61 | 60 | |
zathorix | 0:0afde8480a61 | 61 | void checkTransmitter(bool transmitting); |
zathorix | 0:0afde8480a61 | 62 | |
zathorix | 0:0afde8480a61 | 63 | void displayTime(); |
zathorix | 0:0afde8480a61 | 64 | |
zathorix | 0:0afde8480a61 | 65 | void displayAdvisedThrottle(int advised_throttle_power); |
zathorix | 0:0afde8480a61 | 66 | |
zathorix | 0:0afde8480a61 | 67 | void displayThrottle(int throttle_power, bool reverse); |
zathorix | 0:0afde8480a61 | 68 | |
zathorix | 0:0afde8480a61 | 69 | void displayVelocity(int velocity); |
zathorix | 0:0afde8480a61 | 70 | |
zathorix | 0:0afde8480a61 | 71 | void updateProgressCircle(int screen_number, int percentage); |
zathorix | 0:0afde8480a61 | 72 | |
zathorix | 0:0afde8480a61 | 73 | void updatePowerBars(int power_out, int power_in); |
zathorix | 0:0afde8480a61 | 74 | |
zathorix | 0:0afde8480a61 | 75 | }; |
zathorix | 0:0afde8480a61 | 76 | |
zathorix | 0:0afde8480a61 | 77 | |
zathorix | 0:0afde8480a61 | 78 | #endif |