Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 686 → Rev 687

/branches/V0.68d Code Redesign killagreg/timer2.c
1,6 → 1,7
#include <avr/io.h>
#include <avr/interrupt.h>
#include "fc.h"
#include "eeprom.h"
 
volatile int16_t ServoValue = 0;
 
69,28 → 70,28
 
ServoValue = Parameter_ServoNickControl;
// inverting movment of servo
if(EE_Parameter.ServoNickCompInvert & 0x01)
if(ParamSet.ServoNickCompInvert & 0x01)
{
ServoValue += ((int32_t) EE_Parameter.ServoNickComp * (IntegralNick / 128)) / 512;
ServoValue += ((int32_t) ParamSet.ServoNickComp * (IntegralNick / 128)) / 512;
}
else // non inverting movement of servo
{
ServoValue -= ((int32_t) EE_Parameter.ServoNickComp * (IntegralNick / 128)) / 512;
ServoValue -= ((int32_t) ParamSet.ServoNickComp * (IntegralNick / 128)) / 512;
}
 
// limit servo value to its parameter range definition
if(ServoValue < EE_Parameter.ServoNickMin)
if(ServoValue < ParamSet.ServoNickMin)
{
ServoValue = EE_Parameter.ServoNickMin;
ServoValue = ParamSet.ServoNickMin;
}
else if(ServoValue > EE_Parameter.ServoNickMax)
else if(ServoValue > ParamSet.ServoNickMax)
{
ServoValue = EE_Parameter.ServoNickMax;
ServoValue = ParamSet.ServoNickMax;
}
 
// update PWM
OCR2A = ServoValue;
timer = EE_Parameter.ServoNickRefresh;
timer = ParamSet.ServoNickRefresh;
}
else
{