Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 2188 → Rev 2189

/branches/dongfang_FC_rewrite/externalControl.c
1,15 → 1,16
#include "externalControl.h"
#include "configuration.h"
#include "controlMixer.h"
//#include "controlMixer.h"
#include "definitions.h"
 
ExternalControl_t externalControl;
uint8_t externalControlActive = 0;
// int16_t EC_PRTY[4];
volatile uint8_t externalControlActive;
// TODO: Who is going to call this
 
void EC_setNeutral(void) {
// if necessary. From main.c.
externalControl.config = 0;
externalControl.command = 0;
externalControl.argument = 0;
externalControl.pitch = 0;
externalControl.roll = 0;
externalControl.yaw = 0;
19,22 → 20,22
externalControl.digital[0] = 0x55;
}
 
void EC_periodicTaskAndPRTY(int16_t* PRTY) {
void EC_periodicTaskAndRPTY(int16_t* RPTY) {
if (externalControlActive) {
externalControlActive--;
PRTY[CONTROL_PITCH] += externalControl.pitch * (int16_t) staticParams.stickP;
PRTY[CONTROL_ROLL] += externalControl.roll * (int16_t) staticParams.stickP;
PRTY[CONTROL_THROTTLE] += externalControl.throttle;
PRTY[CONTROL_YAW] += externalControl.yaw; // No stickP or similar??????
RPTY[CONTROL_PITCH] += externalControl.pitch * (int16_t) staticParams.stickP;
RPTY[CONTROL_ROLL] += externalControl.roll * (int16_t) staticParams.stickP;
RPTY[CONTROL_THROTTLE] += externalControl.throttle;
RPTY[CONTROL_YAW] += externalControl.yaw; // No stickP or similar??????
}
}
 
uint8_t EC_getArgument(void) {
return externalControl.config;
return externalControl.argument;
}
 
uint8_t EC_getCommand(void) {
return externalControl.free;
return externalControl.command;
}
 
// not implemented.
51,7 → 52,7
// Configured and heard from
return SIGNAL_OK;
 
if (!(externalControl.config & 0x01 && dynamicParams.externalControl > 128))
if (dynamicParams.externalControl < 128)
// External control is not even configured.
return NO_SIGNAL;