/**
  @page OPAMP calibration example
  @verbatim
  ******************** (C) COPYRIGHT 2014 STMicroelectronics *******************
  * @file    OPAMP/OPAMP_CALIBRATION/readme.txt 
  * @author  MCD Application Team
  * @version $VERSION$
  * @date    $DATE$
  * @brief   Description of the OPAMP calibration example.
  ******************************************************************************
  *
  * Redistribution and use in source and binary forms, with or without modification,
  * are permitted provided that the following conditions are met:
  *   1. Redistributions of source code must retain the above copyright notice,
  *      this list of conditions and the following disclaimer.
  *   2. Redistributions in binary form must reproduce the above copyright notice,
  *      this list of conditions and the following disclaimer in the documentation
  *      and/or other materials provided with the distribution.
  *   3. Neither the name of STMicroelectronics nor the names of its contributors
  *      may be used to endorse or promote products derived from this software
  *      without specific prior written permission.
  *
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  ******************************************************************************
  @endverbatim

@par Example Description 

On OPAMP1, this example shows how to 
- Get factory calibration (trimming) settings.
- Enable/disable OPAMP
- Calibrate OPAMP peripheral before and after use of OPAMP.
  Hence changes can be monitored (versus factory settings or in case of 
  temperature impact for instance).

- Connect an oscilloscope to DAC_CHANNEL_1 output (pin PA.04) to display the sine wave signal
  generated by the DAC. 
- Connect an oscilloscope to OPAMP1 output (pin PA.03) 
  -> to display the OPAMP buffered sine wave signal.
  -> Monitor enabling/disabling of OPAMP.
- Push the Key Push button (connected to PA.00 pin) to switch from one step to the 
next one.
- Key push button steps are:
  -> 1st Push: 
     + Factory trimming retrieved 
     + User trimming set according to self calibration (1st run)
     + Factory trimming and user trimming are compared
       - If The LED blinks rapidly: Calibrated trimming are different from Factory Trimming
       - ................. slowly : Calibrated trimming same as Factory Trimming 
  -> 2nd Push: 
     + OPAMP start
     + Use of previously calibrated user Trimming values
  -> 3rd Push: 
     + change OPAMP setting on the fly (dummy change, without application purpose in this example: change non-inverting input source)
  -> 4th Push: 
     + OPAMP stopped    
  -> 5th Push: 
     + Self calibration (2nd run)
     + results compare to 1st run.
       - If The LED blinks rapidly: New calibrated trimming are different from ones calibrated before run
       - ................. slowly : New calibrated trimming are same as ones calibrated before run 
  -> 6th Push: end of test

@par Directory contents 

  - OPAMP/OPAMP_CALIBRATION/Inc/stm32l1xx_hal_conf.h    HAL configuration file
  - OPAMP/OPAMP_CALIBRATION/Inc/stm32l1xx_it.h          DMA interrupt handlers header file
  - OPAMP/OPAMP_CALIBRATION/Inc/main.h                        Header for main.c module  
  - OPAMP/OPAMP_CALIBRATION/Src/stm32l1xx_it.c          DMA interrupt handlers
  - OPAMP/OPAMP_CALIBRATION/Src/main.c                        Main program
  - OPAMP/OPAMP_CALIBRATION/Src/stm32l1xx_hal_msp.c     HAL MSP file
  - OPAMP/OPAMP_CALIBRATION/Src/system_stm32l1xx.c      STM32L1xx system source file

@par Hardware and Software environment  
  
  - This example runs on STM32L1xxxC, STM32L1xxxCA, STM32L1xxxD and STM32L1xxxE devices.
    
  - This example has been tested with STM32L152D-EVAL board and can be
    easily tailored to any other supported device and development board.

  - STM32L152D-EVAL Set-up
    - Connect an oscilloscope to pin PA.04 to display DAC_CHANNEL_1 output waveform.
    - Connect an oscilloscope to pin PA.03 to display OPAMP1 output waveform.

@par How to use it ? 

In order to make the program work, you must do the following :
 - Open your preferred toolchain 
 - Rebuild all files and load your image into target memory
 - Run the example
  
 * <h3><center>&copy; COPYRIGHT STMicroelectronics</center></h3>
 */

