mbed library for slider v2

Dependents:   kl46z_slider_v2

Committer:
mturner5
Date:
Wed Sep 14 07:04:27 2016 +0000
Revision:
0:b7116bd48af6
Tried to use the timer.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mturner5 0:b7116bd48af6 1 /* mbed Microcontroller Library
mturner5 0:b7116bd48af6 2 * Copyright (c) 2006-2013 ARM Limited
mturner5 0:b7116bd48af6 3 *
mturner5 0:b7116bd48af6 4 * Licensed under the Apache License, Version 2.0 (the "License");
mturner5 0:b7116bd48af6 5 * you may not use this file except in compliance with the License.
mturner5 0:b7116bd48af6 6 * You may obtain a copy of the License at
mturner5 0:b7116bd48af6 7 *
mturner5 0:b7116bd48af6 8 * http://www.apache.org/licenses/LICENSE-2.0
mturner5 0:b7116bd48af6 9 *
mturner5 0:b7116bd48af6 10 * Unless required by applicable law or agreed to in writing, software
mturner5 0:b7116bd48af6 11 * distributed under the License is distributed on an "AS IS" BASIS,
mturner5 0:b7116bd48af6 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
mturner5 0:b7116bd48af6 13 * See the License for the specific language governing permissions and
mturner5 0:b7116bd48af6 14 * limitations under the License.
mturner5 0:b7116bd48af6 15 */
mturner5 0:b7116bd48af6 16 #ifndef MBED_PWMOUT_API_H
mturner5 0:b7116bd48af6 17 #define MBED_PWMOUT_API_H
mturner5 0:b7116bd48af6 18
mturner5 0:b7116bd48af6 19 #include "device.h"
mturner5 0:b7116bd48af6 20
mturner5 0:b7116bd48af6 21 #if DEVICE_PWMOUT
mturner5 0:b7116bd48af6 22
mturner5 0:b7116bd48af6 23 #ifdef __cplusplus
mturner5 0:b7116bd48af6 24 extern "C" {
mturner5 0:b7116bd48af6 25 #endif
mturner5 0:b7116bd48af6 26
mturner5 0:b7116bd48af6 27 /** Pwmout hal structure. pwmout_s is declared in the target's hal
mturner5 0:b7116bd48af6 28 */
mturner5 0:b7116bd48af6 29 typedef struct pwmout_s pwmout_t;
mturner5 0:b7116bd48af6 30
mturner5 0:b7116bd48af6 31 /**
mturner5 0:b7116bd48af6 32 * \defgroup hal_pwmout Pwmout hal functions
mturner5 0:b7116bd48af6 33 * @{
mturner5 0:b7116bd48af6 34 */
mturner5 0:b7116bd48af6 35
mturner5 0:b7116bd48af6 36 /** Initialize the pwm out peripheral and configure the pin
mturner5 0:b7116bd48af6 37 *
mturner5 0:b7116bd48af6 38 * @param obj The pwmout object to initialize
mturner5 0:b7116bd48af6 39 * @param pin The pwmout pin to initialize
mturner5 0:b7116bd48af6 40 */
mturner5 0:b7116bd48af6 41 void pwmout_init(pwmout_t *obj, PinName pin);
mturner5 0:b7116bd48af6 42
mturner5 0:b7116bd48af6 43 /** Deinitialize the pwmout object
mturner5 0:b7116bd48af6 44 *
mturner5 0:b7116bd48af6 45 * @param obj The pwmout object
mturner5 0:b7116bd48af6 46 */
mturner5 0:b7116bd48af6 47 void pwmout_free(pwmout_t *obj);
mturner5 0:b7116bd48af6 48
mturner5 0:b7116bd48af6 49 /** Set the output duty-cycle in range <0.0f, 1.0f>
mturner5 0:b7116bd48af6 50 *
mturner5 0:b7116bd48af6 51 * Value 0.0f represents 0 percentage, 1.0f represents 100 percent.
mturner5 0:b7116bd48af6 52 * @param obj The pwmout object
mturner5 0:b7116bd48af6 53 * @param percent The floating-point percentage number
mturner5 0:b7116bd48af6 54 */
mturner5 0:b7116bd48af6 55 void pwmout_write(pwmout_t *obj, float percent);
mturner5 0:b7116bd48af6 56
mturner5 0:b7116bd48af6 57 /** Read the current float-point output duty-cycle
mturner5 0:b7116bd48af6 58 *
mturner5 0:b7116bd48af6 59 * @param obj The pwmout object
mturner5 0:b7116bd48af6 60 * @return A floating-point output duty-cycle
mturner5 0:b7116bd48af6 61 */
mturner5 0:b7116bd48af6 62 float pwmout_read(pwmout_t *obj);
mturner5 0:b7116bd48af6 63
mturner5 0:b7116bd48af6 64 /** Set the PWM period specified in seconds, keeping the duty cycle the same
mturner5 0:b7116bd48af6 65 *
mturner5 0:b7116bd48af6 66 * Periods smaller than microseconds (the lowest resolution) are set to zero.
mturner5 0:b7116bd48af6 67 * @param obj The pwmout object
mturner5 0:b7116bd48af6 68 * @param seconds The floating-point seconds period
mturner5 0:b7116bd48af6 69 */
mturner5 0:b7116bd48af6 70 void pwmout_period(pwmout_t *obj, float seconds);
mturner5 0:b7116bd48af6 71
mturner5 0:b7116bd48af6 72 /** Set the PWM period specified in miliseconds, keeping the duty cycle the same
mturner5 0:b7116bd48af6 73 *
mturner5 0:b7116bd48af6 74 * @param obj The pwmout object
mturner5 0:b7116bd48af6 75 * @param ms The milisecond period
mturner5 0:b7116bd48af6 76 */
mturner5 0:b7116bd48af6 77 void pwmout_period_ms(pwmout_t *obj, int ms);
mturner5 0:b7116bd48af6 78
mturner5 0:b7116bd48af6 79 /** Set the PWM period specified in microseconds, keeping the duty cycle the same
mturner5 0:b7116bd48af6 80 *
mturner5 0:b7116bd48af6 81 * @param obj The pwmout object
mturner5 0:b7116bd48af6 82 * @param us The microsecond period
mturner5 0:b7116bd48af6 83 */
mturner5 0:b7116bd48af6 84 void pwmout_period_us(pwmout_t *obj, int us);
mturner5 0:b7116bd48af6 85
mturner5 0:b7116bd48af6 86 /** Set the PWM pulsewidth specified in seconds, keeping the period the same.
mturner5 0:b7116bd48af6 87 *
mturner5 0:b7116bd48af6 88 * @param obj The pwmout object
mturner5 0:b7116bd48af6 89 * @param seconds The floating-point pulsewidth in seconds
mturner5 0:b7116bd48af6 90 */
mturner5 0:b7116bd48af6 91 void pwmout_pulsewidth(pwmout_t *obj, float seconds);
mturner5 0:b7116bd48af6 92
mturner5 0:b7116bd48af6 93 /** Set the PWM pulsewidth specified in miliseconds, keeping the period the same.
mturner5 0:b7116bd48af6 94 *
mturner5 0:b7116bd48af6 95 * @param obj The pwmout object
mturner5 0:b7116bd48af6 96 * @param ms The floating-point pulsewidth in miliseconds
mturner5 0:b7116bd48af6 97 */
mturner5 0:b7116bd48af6 98 void pwmout_pulsewidth_ms(pwmout_t *obj, int ms);
mturner5 0:b7116bd48af6 99
mturner5 0:b7116bd48af6 100 /** Set the PWM pulsewidth specified in microseconds, keeping the period the same.
mturner5 0:b7116bd48af6 101 *
mturner5 0:b7116bd48af6 102 * @param obj The pwmout object
mturner5 0:b7116bd48af6 103 * @param us The floating-point pulsewidth in microseconds
mturner5 0:b7116bd48af6 104 */
mturner5 0:b7116bd48af6 105 void pwmout_pulsewidth_us(pwmout_t *obj, int us);
mturner5 0:b7116bd48af6 106
mturner5 0:b7116bd48af6 107 /**@}*/
mturner5 0:b7116bd48af6 108
mturner5 0:b7116bd48af6 109 #ifdef __cplusplus
mturner5 0:b7116bd48af6 110 }
mturner5 0:b7116bd48af6 111 #endif
mturner5 0:b7116bd48af6 112
mturner5 0:b7116bd48af6 113 #endif
mturner5 0:b7116bd48af6 114
mturner5 0:b7116bd48af6 115 #endif