#include "src/VGA/VGA.h"

#define PIN_BTN_T1 7
#define PIN_BTN_T2 6
#define PIN_BTN_T3 5
#define PIN_BTN_T4 4

int cas_meritve[] = {6,7,8,9,10,11,12,13,14,15,16};
float temperatura[] = {-1.8, -0.8, 3.0, 12.0, 15.6, 17.2, 18.5, 19.0, 18.1, 16.7, 14.9};
int dolzina_meritev = (sizeof cas_meritve / sizeof(int));

void izpis_tabele_meritev(int cas_meritve[], float temperatura[], int dolzina_meritev) {
char izpis[100];
for(int i = 0; i < dolzina_meritev; i++) {
VGA.moveCursor(0, i+2);
sprintf(izpis, " %2d:00 %5.2f oC ", cas_meritve[i], temperatura[i]);
VGA.print(izpis);
}
}

void povprecje_temperatur(float temperatura[], int dolzina_meritev) {
float vsota;
float povprecje;
char izpis[100];
for(int i = 0; i < dolzina_meritev; i++) {
vsota += temperatura[i];
}
povprecje = vsota / dolzina_meritev;
sprintf(izpis, "Povprecna temperatura danes je: %5.2f oC", povprecje);
VGA.moveCursor(0, dolzina_meritev+2);
VGA.print(izpis);
}

void dvigni_temp(int cas_meritve[], float temperatura[], int dolzina_meritev){
for(int i = 0; i < dolzina_meritev; i++){
if(cas_meritve[i] >= 10 && cas_meritve[i] <= 13){
temperatura[i] += 1.8;
}
}
}


void setup() {
VGA.begin(320,240,VGA_COLOUR);
pinMode(PIN_BTN_T1, INPUT_PULLUP);
//VGA.moveCursor(0, 0); // (int column, int line)
//VGA.print("");
}

void loop() {
int tipka = digitalRead(PIN_BTN_T1);
static int tipka_history = HIGH;
unsigned long tipka_T1_now = millis();
static unsigned long tipka_T1_lasttrigering = 0;

if(tipka_T1_now-tipka_T1_lasttrigering > 100) {
if(tipka != tipka_history) {
tipka_history = tipka;
tipka_T1_lasttrigering = tipka_T1_now;
if(tipka == LOW) {
dvigni_temp(cas_meritve, temperatura, dolzina_meritev);
}
}
}



izpis_tabele_meritev(cas_meritve, temperatura, dolzina_meritev);
povprecje_temperatur(temperatura, dolzina_meritev);
}