// common.h
// KCO 2010.5.24
#ifndef __COMMON_H
#define __COMMON_H

#include "stm32f10x.h"
#include "stm32f10x_usart.h"
#include <stdarg.h>
#include <stdio.h>

#define BOOL		char
#define BYTE		unsigned char
#define WORD		unsigned int
#define LONG		unsigned long

#define HIGH 		1
#define LOW  		0
#define TRUE		1
#define FALSE		0

#define CR  		0x0d
#define LF  		0x0a


#define ON_LED1     (GPIOB->BRR = GPIO_Pin_5)
#define OFF_LED1    (GPIOB->BSRR = GPIO_Pin_5)
#define T_LED1      (GPIOB->ODR ^= GPIO_Pin_5)

#define ON_LED2     (GPIOB->BRR = GPIO_Pin_6)
#define OFF_LED2    (GPIOB->BSRR = GPIO_Pin_6)
#define T_LED2      (GPIOB->ODR ^= GPIO_Pin_6)

#define ON_LED3     (GPIOB->BRR = GPIO_Pin_7)
#define OFF_LED3    (GPIOB->BSRR = GPIO_Pin_7)
#define T_LED3      (GPIOB->ODR ^= GPIO_Pin_7)

#define ON_LED4     (GPIOB->BRR = GPIO_Pin_8)
#define OFF_LED4    (GPIOB->BSRR = GPIO_Pin_8)
#define T_LED4      (GPIOB->ODR ^= GPIO_Pin_8)

#define ON_LED5     (GPIOB->BRR = GPIO_Pin_9)
#define OFF_LED5    (GPIOB->BSRR = GPIO_Pin_9)
#define T_LED5      (GPIOB->ODR ^= GPIO_Pin_9)

#define ON_LED6     (GPIOC->BRR = GPIO_Pin_13)
#define OFF_LED6    (GPIOC->BSRR = GPIO_Pin_13)
#define T_LED6      (GPIOC->ODR ^= GPIO_Pin_13)

#define ON_LED7     (GPIOC->BRR = GPIO_Pin_14)
#define OFF_LED7    (GPIOC->BSRR = GPIO_Pin_14)
#define T_LED7      (GPIOC->ODR ^= GPIO_Pin_14)

#define ON_LED8     (GPIOC->BRR = GPIO_Pin_15)
#define OFF_LED8    (GPIOC->BSRR = GPIO_Pin_15)
#define T_LED8      (GPIOC->ODR ^= GPIO_Pin_15)

void delay_us(u32 nCount);
void delay_ms(u32 nCount);
BYTE asc2hex(BYTE asc);
BYTE hex2asc(BYTE hex);
WORD hex2_to_decimal(BYTE b);
LONG hex4_to_decimal(WORD w);
long map(long x, long in_min, long in_max, long out_min, long out_max);
float map_f(float x, float in_min, float in_max, float out_min, float out_max);
void check_period_flag(void);

extern BOOL flag_1ms,flag_2ms,flag_10ms,flag_100ms,flag_300ms;

#endif /* __COMMON_H */
