/*
 * File:   error_handle.c
 * Author: Vojta
 *
 * Created on 15. zá?í 2022, 22:44
 */


#include "hlava.h"

void error_check(void)
{
    if(  ( fire && V_bat < 660 ) || error ) //jestli je napeti mensi jak 6.6 V
    {
        error_handle();  
    }
        
    if( ( fire && coil_res_disp < 39 ) || error) //jestli je odpor mensi jak 0.39 ohm
    {
        error_handle();
    }
}

void error_handle(void)
{
    fire = 0;
    
    if(error == 0)
    {
        error = 1; //flag pro opakovani erroru
        error_count = 0; //delay pro blikani displeje
        error_blick = 0; //pocitadlo kolikrat to ma blikat
        seg3_tri_pomlcky();
        dig1 = 1;
        dig2 = 1;
        dig3 = 1;
        
    }
    if(error_blick < 5)
    {
        if(error_count >= 350)
        {
            dig1 = ~dig1;
            dig2 = ~dig2;
            dig3 = ~dig3;
            error_count = 0;
            error_blick++;
        }
    } else
    {
        error = 0; //vynuluj flag aby se neslo do error handeleru kdyz uz error neni
    }  
}
