mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Committer:
mbed_official
Date:
Fri Sep 04 09:30:10 2015 +0100
Revision:
619:034e698bc035
Synchronized with git revision 92d1bfad30082571776c810a56fd471d30514ccf

Full URL: https://github.com/mbedmicro/mbed/commit/92d1bfad30082571776c810a56fd471d30514ccf/

Change directory structure and move files.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 619:034e698bc035 1 /**
mbed_official 619:034e698bc035 2 ******************************************************************************
mbed_official 619:034e698bc035 3 * @file W7500x_stdPeriph_Driver/src/W7500x_dualtimer.c
mbed_official 619:034e698bc035 4 * @author IOP Team
mbed_official 619:034e698bc035 5 * @version v1.0.0
mbed_official 619:034e698bc035 6 * @date 01-May-2015
mbed_official 619:034e698bc035 7 * @brief This file contains all the functions prototypes for the dualtimer
mbed_official 619:034e698bc035 8 * firmware library.
mbed_official 619:034e698bc035 9 ******************************************************************************
mbed_official 619:034e698bc035 10 *
mbed_official 619:034e698bc035 11 ******************************************************************************
mbed_official 619:034e698bc035 12 */
mbed_official 619:034e698bc035 13
mbed_official 619:034e698bc035 14 /* Includes -------------------------------------------*/
mbed_official 619:034e698bc035 15 #include "W7500x.h"
mbed_official 619:034e698bc035 16 #include "W7500x_dualtimer.h"
mbed_official 619:034e698bc035 17
mbed_official 619:034e698bc035 18 void DUALTIMER_ClockEnable(DUALTIMER_TypeDef* DUALTIMERn)
mbed_official 619:034e698bc035 19 {
mbed_official 619:034e698bc035 20 /* Check the parameters */
mbed_official 619:034e698bc035 21 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 619:034e698bc035 22
mbed_official 619:034e698bc035 23 if(DUALTIMERn == DUALTIMER0_0)
mbed_official 619:034e698bc035 24 TIMCLKEN0_0 = DUALTIMER_Clock_Enable;
mbed_official 619:034e698bc035 25 else if(DUALTIMERn == DUALTIMER0_1)
mbed_official 619:034e698bc035 26 TIMCLKEN0_1 = DUALTIMER_Clock_Enable;
mbed_official 619:034e698bc035 27 else if(DUALTIMERn == DUALTIMER1_0)
mbed_official 619:034e698bc035 28 TIMCLKEN1_0 = DUALTIMER_Clock_Enable;
mbed_official 619:034e698bc035 29 else if(DUALTIMERn == DUALTIMER1_1)
mbed_official 619:034e698bc035 30 TIMCLKEN1_1 = DUALTIMER_Clock_Enable;
mbed_official 619:034e698bc035 31 }
mbed_official 619:034e698bc035 32
mbed_official 619:034e698bc035 33 void DUALTIMER_ClockDisable(DUALTIMER_TypeDef* DUALTIMERn)
mbed_official 619:034e698bc035 34 {
mbed_official 619:034e698bc035 35 /* Check the parameters */
mbed_official 619:034e698bc035 36 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 619:034e698bc035 37
mbed_official 619:034e698bc035 38 if(DUALTIMERn == DUALTIMER0_0)
mbed_official 619:034e698bc035 39 TIMCLKEN0_0 = DUALTIMER_Clock_Disable;
mbed_official 619:034e698bc035 40 else if(DUALTIMERn == DUALTIMER0_1)
mbed_official 619:034e698bc035 41 TIMCLKEN0_1 = DUALTIMER_Clock_Disable;
mbed_official 619:034e698bc035 42 else if(DUALTIMERn == DUALTIMER1_0)
mbed_official 619:034e698bc035 43 TIMCLKEN1_0 = DUALTIMER_Clock_Disable;
mbed_official 619:034e698bc035 44 else if(DUALTIMERn == DUALTIMER1_1)
mbed_official 619:034e698bc035 45 TIMCLKEN1_1 = DUALTIMER_Clock_Disable;
mbed_official 619:034e698bc035 46 }
mbed_official 619:034e698bc035 47
mbed_official 619:034e698bc035 48 void DUALTIMER_DeInit(DUALTIMER_TypeDef* DUALTIMERn)
mbed_official 619:034e698bc035 49 {
mbed_official 619:034e698bc035 50 /* Check the parameters */
mbed_official 619:034e698bc035 51 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 619:034e698bc035 52
mbed_official 619:034e698bc035 53 DUALTIMER_Stop(DUALTIMERn);
mbed_official 619:034e698bc035 54
mbed_official 619:034e698bc035 55 DUALTIMERn->TimerLoad = 0x0;
mbed_official 619:034e698bc035 56 DUALTIMERn->TimerControl = 0x20;
mbed_official 619:034e698bc035 57 DUALTIMERn->TimerBGLoad = 0x0;
mbed_official 619:034e698bc035 58 }
mbed_official 619:034e698bc035 59
mbed_official 619:034e698bc035 60 void DUALTIMER_Init(DUALTIMER_TypeDef* DUALTIMERn, DUALTIMER_InitTypDef* DUALTIMER_InitStruct)
mbed_official 619:034e698bc035 61 {
mbed_official 619:034e698bc035 62 uint32_t tmp = 0;
mbed_official 619:034e698bc035 63 /* Check the parameters */
mbed_official 619:034e698bc035 64 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 619:034e698bc035 65 assert_param(IS_DUALTIMER_TimerMode(DUALTIMER_InitStruct->TimerControl_Mode));
mbed_official 619:034e698bc035 66 assert_param(IS_DUALTIMER_TimerPre(DUALTIMER_InitStruct->TimerControl_Pre));
mbed_official 619:034e698bc035 67 assert_param(IS_DUALTIMER_TimerSize(DUALTIMER_InitStruct->TimerControl_Size));
mbed_official 619:034e698bc035 68 assert_param(IS_DUALTIMER_OneShot(DUALTIMER_InitStruct->TimerControl_OneShot));
mbed_official 619:034e698bc035 69
mbed_official 619:034e698bc035 70 DUALTIMER_Stop(DUALTIMERn);
mbed_official 619:034e698bc035 71
mbed_official 619:034e698bc035 72 DUALTIMERn->TimerLoad = DUALTIMER_InitStruct->TimerLoad;
mbed_official 619:034e698bc035 73
mbed_official 619:034e698bc035 74 tmp = DUALTIMERn->TimerControl;
mbed_official 619:034e698bc035 75 tmp |= (DUALTIMER_InitStruct->TimerControl_Mode << DUALTIMER_TimerControl_TimerMode_Pos);
mbed_official 619:034e698bc035 76 tmp |= (DUALTIMER_InitStruct->TimerControl_Pre << DUALTIMER_TimerControl_Pre_Pos);
mbed_official 619:034e698bc035 77 tmp |= (DUALTIMER_InitStruct->TimerControl_Size << DUALTIMER_TimerControl_Size_Pos);
mbed_official 619:034e698bc035 78 tmp |= (DUALTIMER_InitStruct->TimerControl_OneShot << DUALTIMER_TimerControl_OneShot_Pos);
mbed_official 619:034e698bc035 79 //Reset values not used
mbed_official 619:034e698bc035 80 tmp &= 0xEF;
mbed_official 619:034e698bc035 81
mbed_official 619:034e698bc035 82 DUALTIMERn->TimerControl = tmp;
mbed_official 619:034e698bc035 83 }
mbed_official 619:034e698bc035 84
mbed_official 619:034e698bc035 85 void DUALTIMER_IntConfig(DUALTIMER_TypeDef* DUALTIMERn, FunctionalState state)
mbed_official 619:034e698bc035 86 {
mbed_official 619:034e698bc035 87 /* Check the parameters */
mbed_official 619:034e698bc035 88 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 619:034e698bc035 89
mbed_official 619:034e698bc035 90 if(state == ENABLE)
mbed_official 619:034e698bc035 91 DUALTIMERn->TimerControl |= (DUALTIMER_TimerControl_IntEnable << DUALTIMER_TimerControl_IntEnable_Pos);
mbed_official 619:034e698bc035 92 else
mbed_official 619:034e698bc035 93 DUALTIMERn->TimerControl &= ~(DUALTIMER_TimerControl_IntEnable << DUALTIMER_TimerControl_IntEnable_Pos);
mbed_official 619:034e698bc035 94 }
mbed_official 619:034e698bc035 95
mbed_official 619:034e698bc035 96 void DUALTIMER_IntClear(DUALTIMER_TypeDef* DUALTIMERn)
mbed_official 619:034e698bc035 97 {
mbed_official 619:034e698bc035 98 /* Check the parameters */
mbed_official 619:034e698bc035 99 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 619:034e698bc035 100
mbed_official 619:034e698bc035 101 DUALTIMERn->TimerIntClr = DUALTIMER_Int_Clear;
mbed_official 619:034e698bc035 102 }
mbed_official 619:034e698bc035 103
mbed_official 619:034e698bc035 104 ITStatus DUALTIMER_GetIntStatus(DUALTIMER_TypeDef* DUALTIMERn)
mbed_official 619:034e698bc035 105 {
mbed_official 619:034e698bc035 106 /* Check the parameters */
mbed_official 619:034e698bc035 107 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 619:034e698bc035 108
mbed_official 619:034e698bc035 109 return (ITStatus)DUALTIMERn->TimerMIS;
mbed_official 619:034e698bc035 110 }
mbed_official 619:034e698bc035 111
mbed_official 619:034e698bc035 112 FlagStatus DUALTIMER_GetIntEnableStatus(DUALTIMER_TypeDef* DUALTIMERn)
mbed_official 619:034e698bc035 113 {
mbed_official 619:034e698bc035 114 /* Check the parameters */
mbed_official 619:034e698bc035 115 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 619:034e698bc035 116
mbed_official 619:034e698bc035 117 return (FlagStatus)((DUALTIMERn->TimerControl >> DUALTIMER_TimerControl_IntEnable_Pos) & 0x1);
mbed_official 619:034e698bc035 118 }
mbed_official 619:034e698bc035 119
mbed_official 619:034e698bc035 120 void DUALTIMER_Start(DUALTIMER_TypeDef* DUALTIMERn)
mbed_official 619:034e698bc035 121 {
mbed_official 619:034e698bc035 122 /* Check the parameters */
mbed_official 619:034e698bc035 123 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 619:034e698bc035 124
mbed_official 619:034e698bc035 125 DUALTIMERn->TimerControl |= (DUALTIMER_TimerControl_TimerEnable << DUALTIMER_TimerControl_TimerEnable_Pos);
mbed_official 619:034e698bc035 126 }
mbed_official 619:034e698bc035 127
mbed_official 619:034e698bc035 128 void DUALTIMER_Stop(DUALTIMER_TypeDef* DUALTIMERn)
mbed_official 619:034e698bc035 129 {
mbed_official 619:034e698bc035 130 /* Check the parameters */
mbed_official 619:034e698bc035 131 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 619:034e698bc035 132
mbed_official 619:034e698bc035 133 DUALTIMERn->TimerControl &= ~(DUALTIMER_TimerControl_TimerEnable << DUALTIMER_TimerControl_TimerEnable_Pos);
mbed_official 619:034e698bc035 134 }
mbed_official 619:034e698bc035 135
mbed_official 619:034e698bc035 136 uint32_t DUALTIMER_GetTimerLoad(DUALTIMER_TypeDef* DUALTIMERn)
mbed_official 619:034e698bc035 137 {
mbed_official 619:034e698bc035 138 /* Check the parameters */
mbed_official 619:034e698bc035 139 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 619:034e698bc035 140
mbed_official 619:034e698bc035 141 return DUALTIMERn->TimerLoad;
mbed_official 619:034e698bc035 142 }
mbed_official 619:034e698bc035 143
mbed_official 619:034e698bc035 144 void DUALTIMER_SetTimerLoad(DUALTIMER_TypeDef* DUALTIMERn, uint32_t TimerLoad)
mbed_official 619:034e698bc035 145 {
mbed_official 619:034e698bc035 146 /* Check the parameters */
mbed_official 619:034e698bc035 147 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 619:034e698bc035 148
mbed_official 619:034e698bc035 149 DUALTIMERn->TimerLoad = TimerLoad;
mbed_official 619:034e698bc035 150 }
mbed_official 619:034e698bc035 151
mbed_official 619:034e698bc035 152 uint32_t DUALTIMER_GetTimerValue(DUALTIMER_TypeDef* DUALTIMERn)
mbed_official 619:034e698bc035 153 {
mbed_official 619:034e698bc035 154 /* Check the parameters */
mbed_official 619:034e698bc035 155 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 619:034e698bc035 156
mbed_official 619:034e698bc035 157 return DUALTIMERn->TimerValue;
mbed_official 619:034e698bc035 158 }
mbed_official 619:034e698bc035 159
mbed_official 619:034e698bc035 160 uint32_t DUALTIMER_GetTimerControl(DUALTIMER_TypeDef* DUALTIMERn)
mbed_official 619:034e698bc035 161 {
mbed_official 619:034e698bc035 162 /* Check the parameters */
mbed_official 619:034e698bc035 163 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 619:034e698bc035 164
mbed_official 619:034e698bc035 165 return DUALTIMERn->TimerControl;
mbed_official 619:034e698bc035 166 }
mbed_official 619:034e698bc035 167
mbed_official 619:034e698bc035 168 void DUALTIMER_SetTimerControl(DUALTIMER_TypeDef* DUALTIMERn, uint32_t TimerControl)
mbed_official 619:034e698bc035 169 {
mbed_official 619:034e698bc035 170 /* Check the parameters */
mbed_official 619:034e698bc035 171 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 619:034e698bc035 172
mbed_official 619:034e698bc035 173 DUALTIMERn->TimerControl = TimerControl;
mbed_official 619:034e698bc035 174 }
mbed_official 619:034e698bc035 175
mbed_official 619:034e698bc035 176 uint32_t DUALTIMER_GetTimerRIS(DUALTIMER_TypeDef* DUALTIMERn)
mbed_official 619:034e698bc035 177 {
mbed_official 619:034e698bc035 178 /* Check the parameters */
mbed_official 619:034e698bc035 179 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 619:034e698bc035 180
mbed_official 619:034e698bc035 181 return DUALTIMERn->TimerRIS;
mbed_official 619:034e698bc035 182 }
mbed_official 619:034e698bc035 183
mbed_official 619:034e698bc035 184 uint32_t DUALTIMER_GetTimerMIS(DUALTIMER_TypeDef* DUALTIMERn)
mbed_official 619:034e698bc035 185 {
mbed_official 619:034e698bc035 186 /* Check the parameters */
mbed_official 619:034e698bc035 187 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 619:034e698bc035 188
mbed_official 619:034e698bc035 189 return DUALTIMERn->TimerMIS;
mbed_official 619:034e698bc035 190 }
mbed_official 619:034e698bc035 191
mbed_official 619:034e698bc035 192 uint32_t DUALTIMER_GetTimerBGLoad(DUALTIMER_TypeDef* DUALTIMERn)
mbed_official 619:034e698bc035 193 {
mbed_official 619:034e698bc035 194 /* Check the parameters */
mbed_official 619:034e698bc035 195 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 619:034e698bc035 196
mbed_official 619:034e698bc035 197 return DUALTIMERn->TimerBGLoad;
mbed_official 619:034e698bc035 198 }
mbed_official 619:034e698bc035 199
mbed_official 619:034e698bc035 200 void DUALTIMER_SetTimerBGLoad(DUALTIMER_TypeDef* DUALTIMERn, uint32_t TimerBGLoad)
mbed_official 619:034e698bc035 201 {
mbed_official 619:034e698bc035 202 /* Check the parameters */
mbed_official 619:034e698bc035 203 assert_param(IS_DUALTIMER_ALL_CH(DUALTIMERn));
mbed_official 619:034e698bc035 204
mbed_official 619:034e698bc035 205 DUALTIMERn->TimerBGLoad = TimerBGLoad;
mbed_official 619:034e698bc035 206 }