/**
 * @file        log.h
 */

/* Define to prevent recursive inclusion **************************************/
#ifndef INC_LOG_H
#define INC_LOG_H

#ifdef __cplusplus
extern "C" {
#endif

/* Includes *******************************************************************/
#include <stdbool.h>
#include <stdint.h>
#include "stm32f4xx_hal.h"
extern UART_HandleTypeDef huart1;

/* Public Functions ***********************************************************/
/**
 * @brief   Log_Handler()
 *
 * @return  None
 */
void Log_Handler(void);
void LOG_SetPulseError(uint16_t pulse);
void LOG_EncoderCount(uint16_t tim1count,uint16_t tim2count, uint16_t subSecond, uint8_t source);
void Log_Init(void);
void Log_GetData(uint8_t* timeData);
void Log_SaveData(uint16_t count, uint16_t rev, uint8_t* timeData, uint32_t timCounter);
void LOG_Start(void);
void LOG_Stop(void);
void LOG_Reset(void);
void LOG_NewSegment(void);
void LOG_SendLog(void);
void LOG_RaiseFlag(uint16_t flag);


#ifdef __cplusplus
}
#endif

#endif /* INC_LOG_H */
