/*
 Hardware Profiling Module Header file
 */

// Check to avoid doble inclusion
#ifndef HPROFILE_HEADER
#define HPROFILE_HEADER

// GPIO Line definitions
#define HPROF1_PORT   GPIOC
#define HPROF1_PAD    15
#define HPROF2_PORT   GPIOC
#define HPROF2_PAD    13
#define HPROF3_PORT   GPIOE
#define HPROF3_PAD    5
#define HPROF4_PORT   GPIOB
#define HPROF4_PAD    7
#define HPROF5_PORT   GPIOB
#define HPROF5_PAD    5
#define HPROF6_PORT   GPIOA
#define HPROF6_PAD    8
#define HPROF7_PORT   GPIOC
#define HPROF7_PAD    9

#ifdef HPROFILE
/* Lines to include if HPROFILE is defined */

/* Function prototype */
void hprofileInit(void);

/* Function macros */
#define HPROFILE_INIT   hprofileInit()
#define HPROFILE_1_ON   (HPROF1_PORT->BSRR.H.set)=BIT(HPROF1_PAD)
#define HPROFILE_2_ON   (HPROF2_PORT->BSRR.H.set)=BIT(HPROF2_PAD)

#define HPROFILE_1_OFF  (HPROF1_PORT->BSRR.H.clear)=BIT(HPROF1_PAD)
#define HPROFILE_2_OFF  (HPROF1_PORT->BSRR.H.clear)=BIT(HPROF2_PAD)

#else  //HPROFILE
/* Lines to include if HPROFILE is not defined */

/* Null Function macros */
#define HPROFILE_INIT   /* */
#define HPROFILE_1_ON   /* */
#define HPROFILE_2_ON   /* */

#define HPROFILE_1_OFF  /* */
#define HPROFILE_2_OFF  /* */

#endif //HPROFILE


#endif // HPROFILE_HEADER



