/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __MAIN_H
#define __MAIN_H

#ifdef __cplusplus
extern "C" {
#endif

/* Includes ------------------------------------------------------------------*/
#include "stm32l1xx_hal.h"
#include <stdint.h>
#include <stdbool.h>
#include "core/config.h" // CONFIG_REBOOT_FEATURE
/* Exported functions prototypes ---------------------------------------------*/
void Error_Handler(void);

#ifdef __cplusplus
}
#endif
 void HAL_Wait_us( size_t n );
 void HAL_Wait_1us( size_t n );
 void HAL_Wait_10us( size_t n );
 void HAL_Wait_100us( size_t n ); 
 
 bool SystemClock_HSI( bool state ); 

 #if CONFIG_NOIRQ_SNPRINTF
 int _snprintf( char * buffer, size_t szBuffer, const char * format, ... );
 #else
 #define _snprintf(...) snprintf(__VA_ARGS__)
 #endif

 #if CONFIG_REBOOT_FEATURE
 void RebootRequest();
 #endif

#endif /* __MAIN_H */

/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
