diff --git a/src/main.c b/src/main.c --- a/src/main.c +++ b/src/main.c @@ -16,6 +16,8 @@ #include "stdio.h" #include "adc.h" #include "dma.h" +#include "interrupts.h" +#include "buttons.h" int main(void) { @@ -27,35 +29,45 @@ int main(void) ssd1306_clearscreen(); adc_init(); - // ssd1306_drawstring(const char *dataPtr, unsigned char row, unsigned char xPos) - ssd1306_drawstring("[ ProtoFuse ]", 0, 0); - ssd1306_drawstring("HW v1.0 SW v0.1", 1, 0); - - uint16_t temp_counter = 0; - - flash_init(); watchdog_init(); + //just some example code for getting flash values +// flash_getsettings()->values.can_id = 67; +// +// if(flash_getsettings()->values.can_id == 12); + +// ssd1306_drawstring(const char *dataPtr, unsigned char row, unsigned char xPos) +// ssd1306_drawstring("[ ProtoFuse ]", 0, 0); + + float temp_counter = 0; + // Software timers - uint32_t last_blink_time = HAL_GetTick(); + uint32_t last_screen_update_time = HAL_GetTick(); while (1) { + // function that checks all the buttons + freaking_debounce(); + // Grab and transmit data - if(HAL_GetTick() - last_blink_time > 100) + if(HAL_GetTick() - last_screen_update_time > 100) { char buffer[256]; - // added stdio.h to fix implicit declaration error - // changed battery_adc_count from int32_t to int - snprintf(buffer, 256, "Counter: %u", temp_counter); - ssd1306_drawstring(buffer, 2, 0); - snprintf(buffer, 256, "i count: %u", get_viout_counts()); - ssd1306_drawstring(buffer, 3, 0); -// HAL_GPIO_TogglePin(LED_RED); - temp_counter++; - last_blink_time = HAL_GetTick(); + snprintf(buffer, 256, "Counter: %.1f", temp_counter); + ssd1306_drawstring(buffer, 0, 0); +// snprintf(buffer, 256, "VBATT CNTS: %u", get_vbat_counts()); +// ssd1306_drawstring(buffer, 1, 0); +// snprintf(buffer, 256, "IADC CNTS: %u", get_viout_counts()); +// ssd1306_drawstring(buffer, 2, 0); +// snprintf(buffer, 256, "GIADC CNTS: %u", get_vgiout_counts()); +// ssd1306_drawstring(buffer, 3, 0); + + + + temp_counter = temp_counter + 0.1; + last_screen_update_time = HAL_GetTick(); } watchdog_feed();