/** @file afio.h
 * Module handling Alternate Functions for Inputs/Outputs
 *
 * The module provides functions to remap ios to diverse peripherals
 */

#ifndef _AFIO_H_
#define _AFIO_H_

//--includes--------------------------------------------------------------------

#include "exti.h"
#include "gpio.h"


//--type definitions------------------------------------------------------------

//--functions-------------------------------------------------------------------

/**
 * Maps the exti lines to gpio ports. The ExtiLine enum can be used as a
 * mask to configure multiple lines at the same time. This function is used by
 * the exti module to configure its line and calling it directly should should
 * thus normaly not be needed. It could however still be usefull when wanting to
 * change the port linked to an exti without reconfiguring it entirely
 */
void afio_map_exti(enum ExtiLine line_mask, enum GpioPort port);


#endif //_AFIO_H_

