/******************** (C) COPYRIGHT 2006 STMicroelectronics ********************
* File Name          : 75x_pwm.h
* Author             : MCD Application Team
* Date First Issued  : 03/10/2006
* Description        : This file contains all the functions prototypes for the 
*                      PWM software library.
********************************************************************************
* History:
* 07/17/2006 : V1.0
* 03/10/2006 : V0.1
********************************************************************************
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*******************************************************************************/

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __75x_PWM_H
#define __75x_PWM_H

/* Includes ------------------------------------------------------------------*/
#include "75x_map.h"

/* Exported types ------------------------------------------------------------*/

typedef struct
{
  u16 PWM_Mode;        /* PWM Mode */
  u16 PWM_Prescaler;   /* Prescaler value */
  u16 PWM_CounterMode; /* Counter mode: Up/Down, Edge aligned or center aligned */
  u16 PWM_Period;      /* Period value */
  u16 PWM_Complementary; /* Complementary PWM selection */
  u16 PWM_OCState;       /* Output compare off-state in Run mode */
  u16 PWM_OCNState;      /* Complementary Output compare off-state in Run mode */
  u16 PWM_Channel;       /* PWM Channel: 1, 2 or 3 */
  u16 PWM_Pulse1;        /* PWM or OCM Channel 1 pulse length */
  u16 PWM_Pulse2;        /* PWM or OCM Channel 2 pulse length */
  u16 PWM_Pulse3;        /* PWM or OCM Channel 3 pulse length */
  u16 PWM_Polarity1;     /* PWM, OCM or OPM Channel 1 polarity */
  u16 PWM_Polarity2;     /* PWM or OCM  Channel 2 polarity */
  u16 PWM_Polarity3;     /* PWM or OCM  Channel 3 polarity */
  u16 PWM_Polarity1N;    /* PWM or OCM  Channel 1N polarity */
  u16 PWM_Polarity2N;    /* PWM or OCM  Channel 2N polarity */
  u16 PWM_Polarity3N;    /* PWM or OCM  Channel 3N polarity */
  u16 PWM_DTRAccess;     /* Enable or disable the configuration of DTR register parameters:
                          DeadTime, Emergency, LOCKLevel, OSSIState, OCState and OCNState */
  u16 PWM_DeadTime;      /* Dead Time value */
  u16 PWM_Emergency;     /* Emergency selection: Enable / Disable */
  u16 PWM_LOCKLevel;     /* LOCK level */
  u16 PWM_OSSIState;     /* Off-State Selection for Idle state */
  u8 PWM_RepetitionCounter; /* Repetition counter value */
} PWM_InitTypeDef;

/* Exported constants --------------------------------------------------------*/
/* PWM modes */
#define PWM_Mode_OCTiming    0x0001
#define PWM_Mode_OCActive    0x0002
#define PWM_Mode_OCInactive  0x0003
#define PWM_Mode_OCToggle    0x0004
#define PWM_Mode_PWM         0x0005

/* PWM Counter Mode */
#define PWM_CounterMode_Up              0x0000
#define PWM_CounterMode_Down            0x0010
#define PWM_CounterMode_CenterAligned1  0x0020
#define PWM_CounterMode_CenterAligned2  0x0040
#define PWM_CounterMode_CenterAligned3  0x0060

/* PWM Channel */
#define PWM_Channel_1    0x0001
#define PWM_Channel_2    0x0002
#define PWM_Channel_3    0x0004
#define PWM_Channel_ALL  0x0007

/* PWM Polarity channel 1 */
#define PWM_Polarity1_High  0x0001
#define PWM_Polarity1_Low   0x0002

/* PWM Polarity channel 2 */
#define PWM_Polarity2_High  0x0001
#define PWM_Polarity2_Low   0x0002

/* PWM Polarity channel 3 */
#define PWM_Polarity3_High  0x0001
#define PWM_Polarity3_Low   0x0002

/* PWM Polarity channel 1N */
#define PWM_Polarity1N_High  0x0001
#define PWM_Polarity1N_Low   0x0002

/* PWM Polarity channel 2N */
#define PWM_Polarity2N_High  0x0001
#define PWM_Polarity2N_Low   0x0002

/* PWM Polarity channel 3N */
#define PWM_Polarity3N_High  0x0001
#define PWM_Polarity3N_Low   0x0002

/* PWM interrupt sources */
#define PWM_IT_OC1           0x0100
#define PWM_IT_OC2           0x0200
#define PWM_IT_OC3           0x0400
#define PWM_IT_Update        0x0001
#define PWM_IT_GlobalUpdate  0x1001
#define PWM_IT_Emergency     0x8000

/* PWM DMA sources */
#define PWM_DMASource_OC1        0x0100
#define PWM_DMASource_OC2        0x0200
#define PWM_DMASource_OC3        0x0400
#define PWM_DMASource_Update     0x0001

/* PWM DMA Base address */
#define PWM_DMABase_CR    0x0000
#define PWM_DMABase_SCR   0x0800
#define PWM_DMABase_OMR1  0x1800
#define PWM_DMABase_OMR2  0x2000
#define PWM_DMABase_RSR   0x3000
#define PWM_DMABase_RER   0x3800
#define PWM_DMABase_ISR   0x4000
#define PWM_DMABase_CNT   0x4800
#define PWM_DMABase_PSC   0x5000
#define PWM_DMABase_RCR   0x5800
#define PWM_DMABase_ARR   0x6000
#define PWM_DMABase_OCR1  0x6800
#define PWM_DMABase_OCR2  0x7000
#define PWM_DMABase_OCR3  0x7800
#define PWM_DMABase_DTR   0xB800

/* PWM OCM state */
#define PWM_OCRMState_Enable   0x0005
#define PWM_OCRMState_Disable  0x0006

/* PWM Flags */
#define PWM_FLAG_OC1        0x0100
#define PWM_FLAG_OC2        0x0200
#define PWM_FLAG_OC3        0x0400
#define PWM_FLAG_Update     0x0001
#define PWM_FLAG_Emergency  0x8000

/*  PWM_ForcedAction */
#define PWM_ForcedAction_Active    0x000A
#define PWM_ForcedAction_InActive  0x0008

/* PWM TRGO Mode */
#define PWM_TRGOMode_Enable  0x0100
#define PWM_TRGOMode_Update  0x0200
#define PWM_TRGOMode_Reset   0x0000
#define PWM_TRGOMode_OC      0x0300

/* PWM Complementary outputs Enable/Disable */
#define PWM_Complementary_Disable  0x0001
#define PWM_Complementary_Enable   0x0002

/* PWM DTR Access Enable/Disable */
#define PWM_DTRAccess_Enable  0x0001
#define PWM_DTRAccess_Disable 0x0002

/* PWM Emergency input Enable/Disable */
#define PWM_Emergency_Disable  0x0000
#define PWM_Emergency_Enable   0x1000

/* OC states */
#define PWM_OCNState_Disable   0x0001
#define PWM_OCNState_Enable    0x0002
#define PWM_OCNState_OffState  0x0003

/* OCN states */
#define PWM_OCState_Disable   0x0004
#define PWM_OCState_Enable    0x0005
#define PWM_OCState_OffState  0x0006

/* PWM LOCK level */
#define PWM_LOCKLevel_1    0x0400
#define PWM_LOCKLevel_2    0x0800
#define PWM_LOCKLevel_3    0x0C00
#define PWM_LOCKLevel_OFF  0x0000

/* Off State selection for Idle state */
#define PWM_OSSIState_Disable  0x0000
#define PWM_OSSIState_Enable   0x2000

/* Exported macro ------------------------------------------------------------*/
/* Exported functions --------------------------------------------------------*/
void PWM_DeInit(void);
void PWM_Init(PWM_InitTypeDef* PWM_InitStruct);
void PWM_StructInit(PWM_InitTypeDef *PWM_InitStruct);
void PWM_Cmd(FunctionalState Newstate);
void PWM_CtrlPWMOutputs(FunctionalState Newstate); 
void PWM_ITConfig(u16 PWM_IT, FunctionalState Newstate);
void PWM_DMAConfig(u16 PWM_DMASources, u16 PWM_OCRMState, u16 PWM_DMABase);
void PWM_DMACmd(u16 PWM_DMASources, FunctionalState Newstate);
void PWM_SetPrescaler(u16 Prescaler);
void PWM_SetPeriod(u16 Period);
void PWM_SetPulse(u16 PWM_Channel, u16 Pulse);
void PWM_SetPulse1(u16 Pulse);
void PWM_SetPulse2(u16 Pulse);
void PWM_SetPulse3(u16 Pulse);
void PWM_DebugCmd(FunctionalState Newstate);
void PWM_CounterModeConfig(u16 PWM_CounterMode);
void PWM_ForcedOCConfig(u16 PWM_Channel, u16 PWM_ForcedAction);
void PWM_SetDeadTime(u16 DeadTime);
void PWM_ResetCounter(void);
void PWM_TRGOSelection(u16 PWM_TRGOMode);
FlagStatus PWM_GetFlagStatus(u16 PWM_FLAG);
void PWM_ClearFlag(u16 PWM_FLAG);
ITStatus PWM_GetITStatus(u16 PWM_IT);
void PWM_ClearITPendingBit(u16 PWM_IT);

#endif /* __75x_PWM_H */

/******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/
