#ifndef __hal_step_h__
#define __hal_step_h__

#include <stdbool.h>
#include <stdint.h>
#include <string.h>
#include "sdk_common.h"
#include "SEGGER_RTT.h"
#include "usr_config.h"

#if 1
void hal_step_init(void);
uint8_t get_isLoader(void);

#else

typedef struct _step_count_t
{
	uint16_t F_val_now;
	uint16_t F_val_now_B;
	float F_val_old;
	float F_filter_val;
	float F_max_val;
	float F_min_val;
	uint8_t  F_state;
	uint8_t  F_rise_cnt;
	uint32_t time_start;
	uint32_t timstamp_1;
	uint32_t timstamp_2;
	#if DEBUG_STEP
	uint16_t F_flag_step ;
	#endif
	uint8_t isLoader;
}step_count_t;

void hal_step_Init(void);
uint32_t hal_get_step(void);
void hal_rest_step(void);
uint8_t get_isLoader(void);
void hal_step_matlib_Test(uint8_t value);
#endif

#endif
