1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-02-28 17:54:15 +01:00

Fix typo in servo doxygen header

This commit is contained in:
James Cotton 2011-07-16 03:25:33 -05:00
parent a9c873dafa
commit 2da65014c7

View File

@ -6,25 +6,25 @@
* @brief Code to do set RC servo output * @brief Code to do set RC servo output
* @{ * @{
* *
* @file pios_servo.c * @file pios_servo.c
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010. * @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
* @brief RC Servo routines (STM32 dependent) * @brief RC Servo routines (STM32 dependent)
* @see The GNU Public License (GPL) Version 3 * @see The GNU Public License (GPL) Version 3
* *
*****************************************************************************/ *****************************************************************************/
/* /*
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, but * This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details. * for more details.
* *
* You should have received a copy of the GNU General Public License along * You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc., * with this program; if not, write to the Free Software Foundation, Inc.,
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/ */
@ -41,15 +41,15 @@ void PIOS_Servo_Init(void)
{ {
#ifndef PIOS_ENABLE_DEBUG_PINS #ifndef PIOS_ENABLE_DEBUG_PINS
#if defined(PIOS_INCLUDE_SERVO) #if defined(PIOS_INCLUDE_SERVO)
for (uint8_t i = 0; i < pios_servo_cfg.num_channels; i++) { for (uint8_t i = 0; i < pios_servo_cfg.num_channels; i++) {
GPIO_InitTypeDef GPIO_InitStructure = pios_servo_cfg.gpio_init; GPIO_InitTypeDef GPIO_InitStructure = pios_servo_cfg.gpio_init;
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure = pios_servo_cfg.tim_base_init; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure = pios_servo_cfg.tim_base_init;
TIM_OCInitTypeDef TIM_OCInitStructure = pios_servo_cfg.tim_oc_init; TIM_OCInitTypeDef TIM_OCInitStructure = pios_servo_cfg.tim_oc_init;
struct pios_servo_channel channel = pios_servo_cfg.channels[i]; struct pios_servo_channel channel = pios_servo_cfg.channels[i];
/* Enable appropriate clock to timer module */ /* Enable appropriate clock to timer module */
switch((int32_t) channel.timer) { switch((int32_t) channel.timer) {
case (int32_t)TIM1: case (int32_t)TIM1:
@ -81,12 +81,12 @@ void PIOS_Servo_Init(void)
/* Enable GPIO */ /* Enable GPIO */
GPIO_InitStructure.GPIO_Pin = channel.pin; GPIO_InitStructure.GPIO_Pin = channel.pin;
GPIO_Init(channel.port, &GPIO_InitStructure); GPIO_Init(channel.port, &GPIO_InitStructure);
/* Enable time base */ /* Enable time base */
TIM_TimeBaseInit(channel.timer, &TIM_TimeBaseStructure); TIM_TimeBaseInit(channel.timer, &TIM_TimeBaseStructure);
channel.timer->PSC = (PIOS_MASTER_CLOCK / 1000000) - 1; channel.timer->PSC = (PIOS_MASTER_CLOCK / 1000000) - 1;
/* Set up for output compare function */ /* Set up for output compare function */
switch(channel.channel) { switch(channel.channel) {
case TIM_Channel_1: case TIM_Channel_1:
@ -106,19 +106,19 @@ void PIOS_Servo_Init(void)
TIM_OC4PreloadConfig(channel.timer, TIM_OCPreload_Enable); TIM_OC4PreloadConfig(channel.timer, TIM_OCPreload_Enable);
break; break;
} }
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
TIM_ARRPreloadConfig(channel.timer, ENABLE); TIM_ARRPreloadConfig(channel.timer, ENABLE);
TIM_CtrlPWMOutputs(channel.timer, ENABLE); TIM_CtrlPWMOutputs(channel.timer, ENABLE);
TIM_Cmd(channel.timer, ENABLE); TIM_Cmd(channel.timer, ENABLE);
} }
if(pios_servo_cfg.remap) { if(pios_servo_cfg.remap) {
/* Warning, I don't think this will work for multiple remaps at once */ /* Warning, I don't think this will work for multiple remaps at once */
GPIO_PinRemapConfig(pios_servo_cfg.remap, ENABLE); GPIO_PinRemapConfig(pios_servo_cfg.remap, ENABLE);
} }
#endif // PIOS_INCLUDE_SERVO #endif // PIOS_INCLUDE_SERVO
#endif // PIOS_ENABLE_DEBUG_PINS #endif // PIOS_ENABLE_DEBUG_PINS
@ -137,19 +137,19 @@ void PIOS_Servo_SetHz(uint16_t * speeds, uint8_t banks)
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseStructure.TIM_Prescaler = (PIOS_MASTER_CLOCK / 1000000) - 1; TIM_TimeBaseStructure.TIM_Prescaler = (PIOS_MASTER_CLOCK / 1000000) - 1;
uint8_t set = 0; uint8_t set = 0;
for(uint8_t i = 0; (i < pios_servo_cfg.num_channels) && (set < banks); i++) { for(uint8_t i = 0; (i < pios_servo_cfg.num_channels) && (set < banks); i++) {
bool new = true; bool new = true;
struct pios_servo_channel channel = pios_servo_cfg.channels[i]; struct pios_servo_channel channel = pios_servo_cfg.channels[i];
/* See if any previous channels use that same timer */ /* See if any previous channels use that same timer */
for(uint8_t j = 0; (j < i) && new; j++) for(uint8_t j = 0; (j < i) && new; j++)
new &= channel.timer != pios_servo_cfg.channels[j].timer; new &= channel.timer != pios_servo_cfg.channels[j].timer;
if(new) { if(new) {
TIM_TimeBaseStructure.TIM_Period = ((1000000 / speeds[set]) - 1); TIM_TimeBaseStructure.TIM_Period = ((1000000 / speeds[set]) - 1);
TIM_TimeBaseInit(channel.timer, &TIM_TimeBaseStructure); TIM_TimeBaseInit(channel.timer, &TIM_TimeBaseStructure);
set++; set++;
} }
@ -161,7 +161,7 @@ void PIOS_Servo_SetHz(uint16_t * speeds, uint8_t banks)
/** /**
* Set servo position * Set servo position
* \param[in] Servo Servo number (0-7) * \param[in] Servo Servo number (0-7)
* \param[in] Position Servo position in milliseconds * \param[in] Position Servo position in microseconds
*/ */
void PIOS_Servo_Set(uint8_t Servo, uint16_t Position) void PIOS_Servo_Set(uint8_t Servo, uint16_t Position)
{ {
@ -184,7 +184,7 @@ void PIOS_Servo_Set(uint8_t Servo, uint16_t Position)
case TIM_Channel_4: case TIM_Channel_4:
TIM_SetCompare4(pios_servo_cfg.channels[Servo].timer, Position); TIM_SetCompare4(pios_servo_cfg.channels[Servo].timer, Position);
break; break;
} }
} }
#endif // PIOS_INCLUDE_SERVO #endif // PIOS_INCLUDE_SERVO
#endif // PIOS_ENABLE_DEBUG_PINS #endif // PIOS_ENABLE_DEBUG_PINS