/*----------------------------------------------------------------------------*/
/* LIBRARY LAYER: Boost Converter Library Layer Documentation */
/*----------------------------------------------------------------------------*/
/**
@defgroup lib-layer-boost Boost Converter Library
@ingroup lib-layer
@details
 The Boost Converter Library is a comprehensive device driver providing a state machine managing
 initialization, configurable, protected startup, runtime reference tuning and auto-restart capabilities.
 Special Functions are available to extend the essential features of the state machine supporting
 specific, optional sub-circuits and functions.

 This device driver also includes functions for the configuration of device peripherals by providing 
 templates of the fundamental peripheral set initialization required to drive and control the supported 
 type of power converter, significantly reducing the amount of parameters users have to select and set.
 
 All settings are made available through the BOOST_CONVERTER_s data structure, described in the Public 
 Properties / Data Types section of this documentation.

*/


/*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*/
/* SECTIONS */
/*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*/

/*----------------------------------------------------------------------------*/
/* Boost Converter Library API */
/*----------------------------------------------------------------------------*/

/* LEVEL 1 */
/**
@defgroup lib-layer-boost-converter-api Boost Converter Library API
@ingroup lib-layer-boost
@brief 
@details 
 The boost converter device driver is a comprehensive, self-contained driver for single- and multiphase, 
 non-isolated, asynchronous and synchronous boost converters. It comprises a state machine managing dynamic
 soft-start and soft-stop control, runtime reference tuning and fault shut-down and self-recovery.
*/

	/* PUBLIC FUNCTIONS */
	/** 
	@defgroup lib-layer-boost-converter-functions-public Public Functions
	@ingroup lib-layer-boost-converter-api
	@brief Public functions of the second library layer
	@details 
	 This is the detailed description of public functions of the
	 boost converter device driver library application programming interface (API). 
	*/
	
	/* PUBLIC PROPERTIES */
	/**
	@defgroup lib-layer-boost-converter-properties-public Public Properties
	@ingroup lib-layer-boost-converter-api
	@brief Public properties of the second library layer
	@details This is the detailed description of public variables, data types,
	enumerations, defines and macros of the library layer of
	boost converter device driver.
	*/
		/* VARIABLES */
		/**
		@defgroup lib-layer-boost-converter-properties-public-variables Variables & Constants
		@ingroup lib-layer-boost-converter-properties-public
		*/
		/* DATA TYPES */
		/**
		@defgroup lib-layer-boost-converter-properties-public-data-types Data Types
		@ingroup lib-layer-boost-converter-properties-public
		*/
		/* MACROS */
		/**
		@defgroup lib-layer-boost-converter-properties-public-defines Defines and Macros
		@ingroup lib-layer-boost-converter-properties-public
		*/

	/* PRIVATE FUNCTIONS */
	/*
	@defgroup lib-layer-boost-converter-functions-private Private Functions
	@ingroup lib-layer-boost-converter-api
	@brief Private functions of the second library layer
	@details 
	 This is the detailed description of private functions of the
	 boost converter device driver library application programming interface (API). 
	 @note 
	 This library segment does not have any private functions
	*/
		
	/* PRIVATE PROPERTIES */
	/**
	@defgroup lib-layer-boost-converter-properties-private Private Properties
	@ingroup lib-layer-boost-converter-api
	@brief Private properties of the second library layer
	@details This is the detailed description of private variables, data types,
	enumerations, defines and macros of the library layer of the boost converter
	device driver.
	*/
		/* VARIABLES */
		/**
		@defgroup lib-layer-boost-converter-properties-private-variables Variables & Constants
		@ingroup lib-layer-boost-converter-properties-private
		@note This part of the library does not have any private variables or constants
		*/
		/* DATA TYPES */
		/**
		@defgroup lib-layer-boost-converter-properties-private-data-types Data Types
		@ingroup lib-layer-boost-converter-properties-private
		*/
		/* MACROS */
		/**
		@defgroup lib-layer-boost-converter-properties-private-defines Defines and Macros
		@ingroup lib-layer-boost-converter-properties-private
		@note This part of the library does not have any private defines and macros
		*/


/*----------------------------------------------------------------------------*/
/* Boost Converter Library Modules */
/*----------------------------------------------------------------------------*/

/* LEVEL 1 */
/**
@defgroup lib-layer-boost-modules Boost Converter Library Modules
@ingroup lib-layer-boost
@brief 
@details 
 The boost converter device driver is a comprehensive, self-contained driver for single- and multiphase, 
 non-isolated, asynchronous and synchronous boost converters. It comprises a state machine managing dynamic
 soft-start and soft-stop control, runtime reference tuning and fault shut-down and self-recovery.
*/


/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/* Boost Converter Library Module State Machine */
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/* LEVEL 1 */
/**
@defgroup lib-layer-boost-state-machine Boost Converter State Machine
@ingroup  lib-layer-boost-modules
@brief    Description of the Boost Converter Library State Machine library module
@details 
The converter state machine defines the steps required to initialize the power supply chip resources
and converter data objects, resets the most recent runtime data in preparation for a power supply startup,
monitors the status of fault and control flags and provides sub-functions for powering up the power converter
and its control system dependent on which kind of control mode is selected. 
 
The soft-start process includes programmable delays such as Power-On Delay and Power Good Delay including 
the ramp-up slew rate of the output voltage. In case of system or software errors, the state machine will 
shut down the power supply and execute a restart attempt.

The complete state machine is encapsulated in and managed by the converter device driver. No user control
is required other than calling the high-level 'drv_BoostConverter_Execute' device driver API function at 
a constant repetition rate.
*/
	
/* LEVEL 2 */
/**
@defgroup lib-layer-boost-state-machine-functions Functions
@ingroup  lib-layer-boost-state-machine
@brief    Functions of the second library layer
@details 
This is the detailed description of functions of the state machine 
of the boost converter device driver library.
*/

/**
@defgroup lib-layer-boost-state-machine-properties Properties
@ingroup  lib-layer-boost-state-machine
@brief    Properties of the second library layer
@details 
This is the detailed description of variables, data types,
enumerations, defines and macros of the state machine of the boost converter 
device driver library.
*/
	
/* LEVEL 3 */
/**
@defgroup lib-layer-boost-state-machine-properties-variables Variables & Constants
@ingroup  lib-layer-boost-state-machine-properties
@brief    Variables of the boost converter state machine
*/
/**
@defgroup lib-layer-boost-state-machine-properties-data-types Data Types
@ingroup  lib-layer-boost-state-machine-properties
@brief    Data types of the boost converter state machine
@note     This library module does not provide any data types 
*/
/**
@defgroup lib-layer-boost-state-machine-properties-defines Defines and Macros
@ingroup  lib-layer-boost-state-machine-properties
@brief    Defines and macros of the boost converter state machine
@note     This library module does not provide any defines or macros 
*/

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/* Boost Converter Library Module Special Functions */
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

/* LEVEL 1 */
/**
@defgroup lib-layer-boost-specialfn Boost Special Functions
@ingroup lib-layer-boost-modules
@brief 
@details 
The Special Function layer of the power converter state machine provides optional extension states
to the common state machine functions, which may only be applicable to specific power converter 
architectures or in presence of specific sub-circuit types. The common state machine incorporates 
calls of Special Function states at an approriate point making them optionally available through 
user configuration in the BOOST_CONVERTER_s data structure.
*/

/* LEVEL 2 */
/**
@defgroup lib-layer-boost-specialfn-functions Functions
@ingroup lib-layer-boost-specialfn
@brief Public functions of the second library layer
@details 
This is the detailed description of public functions of the
special function module of the boost converter device driver library.
*/
/**
@defgroup lib-layer-boost-specialfn-properties Properties
@ingroup lib-layer-boost-specialfn
@brief Public properties of the second library layer
@details This is the detailed description of public variables, data types,
enumerations, defines and macros of the library layer of
boost converter device driver.
*/

/* LEVEL 3 */
/**
@defgroup lib-layer-boost-specialfn-properties-variables Variables & Constants
@ingroup  lib-layer-boost-specialfn-properties
@brief    List of variables of the Special Function state machine extensions
*/
/**
@defgroup lib-layer-boost-specialfn-properties-data-types Data Types
@ingroup  lib-layer-boost-specialfn-properties
@brief    List of data types of the Special Function state machine extensions
@details 
*/
/**
@defgroup lib-layer-boost-specialfn-properties-defines Defines and Macros
@ingroup  lib-layer-boost-specialfn-properties
@brief    List of defines and macros of the Special Function state machine extensions
*/
		

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/* Boost Converter Library Peripheral Configuration Module */
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

/* LEVEL 1 */
/**
@defgroup lib-layer-boost-pconfig Boost Peripheral Configuration
@ingroup lib-layer-boost-modules
@brief 
@details 
The boost converter device driver self-manages its chip resources required to initialize and drive
the converter stage and related control loops. The device driver provides standard configurations
for all peripherals which are loaded into the respective Special Function Registers of each peripheral.
The generic configuraitons are sublemented by the user-settings written to the converter data structure
in the application layer initialization routine.
*/

/* LEVEL 2 */
/**
@defgroup lib-layer-boost-pconfig-functions Functions
@ingroup lib-layer-boost-pconfig
@brief Functions of the second library layer
@details 
This is the detailed description of public functions of the
peripheral configuration module of the boost converter device driver library.
*/
/**
@defgroup lib-layer-boost-pconfig-properties Properties
@ingroup lib-layer-boost-pconfig
@brief Properties of the second library layer
@details 
This is the detailed description of public variables, data types,
enumerations, defines and macros of the peripheral configuration module
of the boost converter device driver library.
*/

/* LEVEL 3 */
/**
@defgroup lib-layer-boost-pconfig-properties-variables Variables & Constants
@ingroup lib-layer-boost-pconfig-properties
*/
/**
@defgroup lib-layer-boost-pconfig-properties-data-types Data Types
@ingroup  lib-layer-boost-pconfig-properties
@note     This library module does not provide any data types
*/
/**
@defgroup lib-layer-boost-pconfig-properties-defines Defines and Macros
@ingroup  lib-layer-boost-pconfig-properties
@note     This library module does not provide any defines or macros
*/

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/* Boost Converter Library Peripheral Configuration Template Module */
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

/* LEVEL 1 */
/**
@defgroup lib-layer-boost-ptemplate Boost Peripheral Templates
@ingroup lib-layer-boost-modules
@brief 
@details 
Peripheral Templates of the power converter device driver are used to preconfigure device peripheral
modules required to drive and control the power converter circuit. Specific control modes might include
different sets of peripherals. Peripheral templates are provided for each supported control mode as well
as for optional and special features such as hardware protection, feedback conditioning, Enable input or 
Power Good output pins.
*/

/* LEVEL 2 */
/**
@defgroup lib-layer-boost-ptemplate-functions Functions
@ingroup  lib-layer-boost-ptemplate
@brief    Functions of the second library layer
@details  This is the detailed description of functions of the
library layer of boost converter device driver.
@note     This library module does not provide any functions
*/
/**
@defgroup lib-layer-boost-ptemplate-properties Properties
@ingroup lib-layer-boost-ptemplate
@brief Properties of the second library layer
@details This is the detailed description of variables, data types,
enumerations, defines and macros of the library layer of
boost converter device driver.
*/

/* LEVEL 3 */
/**
@defgroup lib-layer-boost-ptemplate-properties-variables Variables & Constants
@ingroup lib-layer-boost-ptemplate-properties
*/
/**
@defgroup lib-layer-boost-ptemplate-properties-data-types Data Types
@ingroup lib-layer-boost-ptemplate-properties
@note     This library module does not provide any data types
*/
/**
@defgroup lib-layer-boost-ptemplate-properties-defines Defines and Macros
@ingroup lib-layer-boost-ptemplate-properties
*/


/* end of file */
