#ifndef __DASHBOARD_H #define __DASHBOARD_H #include "LCD_driver.h" #define COLOR_PRIMARY 0xfdaa #define COLOR_SECONDARY 0x667f #define COLOR_SUCCESS 0x3766 #define COLOR_ERROR 0xf226 #define COLOR_FG 0xFFFF #define COLOR_BG 0x0000 #define COLOR_OFF 0x0000 void run_dashboard_loop(); void init(); void update_values_setup(); void update_adc(); void draw_init(); // Displays the battery voltage and percent, with the trip and life distances // Input voltage from COMM_GET_VALUES, scale 10 // battery percent (level) from COMM_GET_VALUES_SETUP, scale 100 // trip distance from COMM_GET_VALUES_SETUP, scale 100 // life distance (odometer) from COMM_GET_VALUES_SETUP void draw_battery(int16_t voltage, int32_t percent, int32_t trip_dist, uint32_t life_dist); // Displays the power bars at the top // Duty from COMM_GET_VALUES, scale 1000 void draw_power_bars(int16_t duty); // Displays the huge speed counter with avg and max values. // Speed from COMM_GET_VALUES_SETUP, scale 1000 void draw_speed(int32_t speed); // Displays Current, Duty, Watts // Current from COMM_GET_VALUES, scale 100 // Duty from COMM_GET_VALUES, scale 1000 // Input voltage from COMM_GET_VALUES, scale 10 void draw_power(int32_t amps, int16_t duty, int16_t voltage); // Displays the two ADS voltages // 2 voltages from reFloat - COMM_CUSTOM_APP_DATA, scale 10, adcx_en are booleans. void draw_adc(int32_t adc1_scaled, int32_t adc2_scaled, uint8_t adc1_en, uint8_t adc2_en); // Displays the controller and motor temperatures // 2 temperatures from COMM_GET_VALUES_SETUP, scale 10 void draw_temps(int16_t temp_fet, int16_t temp_motor); #endif