1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-12-01 09:24:10 +01:00

Merge branch 'next' into thread/OP-39

This commit is contained in:
Fredrik Arvidsson 2012-10-02 23:20:28 +02:00
commit 4f84c4ba3b
9 changed files with 82 additions and 23 deletions

View File

@ -38,9 +38,15 @@ OUTDIR := $(TOP)/build/$(TARGET)
DEBUG ?= NO
# Include objects that are just nice information to show
DIAGNOSTICS ?= NO
STACK_DIAGNOSTICS ?= NO
MIXERSTATUS_DIAGNOSTICS ?= NO
RATEDESIRED_DIAGNOSTICS ?= NO
I2C_WDG_STATS_DIAGNOSTICS ?= NO
DIAG_TASKS ?= NO
#Or just turn on all the above diagnostics. WARNING: This consumes massive amounts of memory.
ALL_DIGNOSTICS ?=NO
# Set to YES to build a FW version that will erase all flash memory
ERASE_FLASH ?= NO
# Set to YES to use the Servo output pins for debugging via scope or logic analyser
@ -485,11 +491,25 @@ ifeq ($(DEBUG),YES)
CFLAGS += -DDEBUG
endif
ifeq ($(DIAGNOSTICS),YES)
CFLAGS += -DDIAGNOSTICS
#The following Makefile command, ifneq (, $(filter) $(A), $(B) $(C)) is equivalent
# to the pseudocode `if(A== B || A==C)`
ifneq (,$(filter YES,$(STACK_DIAGNOSTICS) $(ALL_DIGNOSTICS)))
CFLAGS += -DSTACK_DIAGNOSTICS
endif
ifeq ($(DIAG_TASKS),YES)
ifneq (,$(filter YES,$(MIXERSTATUS_DIAGNOSTICS) $(ALL_DIGNOSTICS)))
CFLAGS += -DMIXERSTATUS_DIAGNOSTICS
endif
ifneq (,$(filter YES,$(RATEDESIRED_DIAGNOSTICS) $(ALL_DIGNOSTICS)))
CFLAGS += -DRATEDESIRED_DIAGNOSTICS
endif
ifneq (,$(filter YES,$(I2C_WDG_STATS_DIAGNOSTICS) $(ALL_DIGNOSTICS)))
CFLAGS += -DI2C_WDG_STATS_DIAGNOSTICS
endif
ifneq (,$(filter YES,$(DIAG_TASKS) $(ALL_DIGNOSTICS)))
CFLAGS += -DDIAG_TASKS
endif

View File

@ -126,7 +126,7 @@ int32_t ActuatorInitialize()
// Primary output of this module
ActuatorCommandInitialize();
#if defined(DIAGNOSTICS)
#if defined(MIXERSTATUS_DIAGNOSTICS)
// UAVO only used for inspecting the internal status of the mixer during debug
MixerStatusInitialize();
#endif
@ -212,7 +212,7 @@ static void actuatorTask(void* parameters)
ActuatorDesiredGet(&desired);
ActuatorCommandGet(&command);
#if defined(DIAGNOSTICS)
#if defined(MIXERSTATUS_DIAGNOSTICS)
MixerStatusGet(&mixerStatus);
#endif
int nMixers = 0;
@ -362,7 +362,7 @@ static void actuatorTask(void* parameters)
// Update in case read only (eg. during servo configuration)
ActuatorCommandGet(&command);
#if defined(DIAGNOSTICS)
#if defined(MIXERSTATUS_DIAGNOSTICS)
MixerStatusSet(&mixerStatus);
#endif

View File

@ -119,7 +119,7 @@ int32_t StabilizationInitialize()
// Initialize variables
StabilizationSettingsInitialize();
ActuatorDesiredInitialize();
#if defined(DIAGNOSTICS)
#if defined(RATEDESIRED_DIAGNOSTICS)
RateDesiredInitialize();
#endif
@ -172,8 +172,7 @@ static void stabilizationTask(void* parameters)
StabilizationDesiredGet(&stabDesired);
AttitudeActualGet(&attitudeActual);
GyrosGet(&gyrosData);
#if defined(DIAGNOSTICS)
#if defined(RATEDESIRED_DIAGNOSTICS)
RateDesiredGet(&rateDesired);
#endif
@ -350,7 +349,7 @@ static void stabilizationTask(void* parameters)
if (settings.VbarPiroComp == STABILIZATIONSETTINGS_VBARPIROCOMP_TRUE)
stabilization_virtual_flybar_pirocomp(gyro_filtered[2], dT);
#if defined(DIAGNOSTICS)
#if defined(RATEDESIRED_DIAGNOSTICS)
RateDesiredSet(&rateDesired);
#endif

View File

@ -82,7 +82,7 @@ static void objectUpdatedCb(UAVObjEvent * ev);
static void updateStats();
static void updateSystemAlarms();
static void systemTask(void *parameters);
#if defined(DIAGNOSTICS)
#if defined(I2C_WDG_STATS_DIAGNOSTICS)
static void updateI2Cstats();
static void updateWDGstats();
#endif
@ -118,7 +118,7 @@ int32_t SystemModInitialize(void)
#if defined(DIAG_TASKS)
TaskInfoInitialize();
#endif
#if defined(DIAGNOSTICS)
#if defined(I2C_WDG_STATS_DIAGNOSTICS)
I2CStatsInitialize();
WatchdogStatusInitialize();
#endif
@ -168,7 +168,7 @@ static void systemTask(void *parameters)
// Update the system alarms
updateSystemAlarms();
#if defined(DIAGNOSTICS)
#if defined(I2C_WDG_STATS_DIAGNOSTICS)
updateI2Cstats();
updateWDGstats();
#endif
@ -301,7 +301,7 @@ static void objectUpdatedCb(UAVObjEvent * ev)
/**
* Called periodically to update the I2C statistics
*/
#if defined(DIAGNOSTICS)
#if defined(I2C_WDG_STATS_DIAGNOSTICS)
static void updateI2Cstats()
{
#if defined(PIOS_INCLUDE_I2C)

View File

@ -38,7 +38,14 @@ OUTDIR := $(TOP)/build/$(TARGET)
DEBUG ?= NO
# Include objects that are just nice information to show
DIAGNOSTICS ?= NO
STACK_DIAGNOSTICS ?= NO
MIXERSTATUS_DIAGNOSTICS ?= NO
RATEDESIRED_DIAGNOSTICS ?= NO
I2C_WDG_STATS_DIAGNOSTICS ?= NO
DIAG_TASKS ?= YES
#Or just turn on all the above diagnostics. WARNING: This consumes massive amounts of memory.
ALL_DIGNOSTICS ?=NO
# Set to YES to build a FW version that will erase all flash memory
ERASE_FLASH ?= NO
@ -378,8 +385,24 @@ ifeq ($(DEBUG),YES)
CFLAGS = -DDEBUG
endif
ifeq ($(DIAGNOSTICS),YES)
CFLAGS = -DDIAGNOSTICS
ifneq (,$(filter YES,$(STACK_DIAGNOSTICS) $(ALL_DIGNOSTICS)))
CFLAGS += -DSTACK_DIAGNOSTICS
endif
ifneq (,$(filter YES,$(MIXERSTATUS_DIAGNOSTICS) $(ALL_DIGNOSTICS)))
CFLAGS += -DMIXERSTATUS_DIAGNOSTICS
endif
ifneq (,$(filter YES,$(RATEDESIRED_DIAGNOSTICS) $(ALL_DIGNOSTICS)))
CFLAGS += -DRATEDESIRED_DIAGNOSTICS
endif
ifneq (,$(filter YES,$(I2C_WDG_STATS_DIAGNOSTICS) $(ALL_DIGNOSTICS)))
CFLAGS += -DI2C_WDG_STATS_DIAGNOSTICS
endif
ifneq (,$(filter YES,$(DIAG_TASKS) $(ALL_DIGNOSTICS)))
CFLAGS += -DDIAG_TASKS
endif
CFLAGS += -g$(DEBUGF)

View File

@ -76,7 +76,7 @@ NVIC value of 255. */
#endif
/* Enable run time stats collection */
#if defined(DIAGNOSTICS)
#if defined(STACK_DIAGNOSTICS)
#define configCHECK_FOR_STACK_OVERFLOW 2
#define configGENERATE_RUN_TIME_STATS 1

View File

@ -255,7 +255,10 @@ endif
# common architecture-specific flags from the device-specific library makefile
CFLAGS += $(ARCHFLAGS)
CFLAGS += -DDIAGNOSTICS
CFLAGS += -DSTACK_DIAGNOSTICS
CFLAGS += -DMIXERSTATUS_DIAGNOSTICS
CFLAGS += -DRATEDESIRED_DIAGNOSTICS
CFLAGS += -DI2C_WDG_STATS_DIAGNOSTICS
CFLAGS += -DDIAG_TASKS
# This is not the best place for these. Really should abstract out

View File

@ -256,7 +256,11 @@ endif
CFLAGS += $(ARCHFLAGS)
CFLAGS += $(UAVOBJDEFINE)
CFLAGS += -DDIAGNOSTICS
CFLAGS += -DSTACK_DIAGNOSTICS
CFLAGS += -DMIXERSTATUS_DIAGNOSTICS
CFLAGS += -DRATEDESIRED_DIAGNOSTICS
CFLAGS += -DI2C_WDG_STATS_DIAGNOSTICS
CFLAGS += -DDIAG_TASKS
# This is not the best place for these. Really should abstract out

View File

@ -93,8 +93,18 @@ bool SDLGamepad::setGamepad(qint16 index)
{
buttons = SDL_JoystickNumButtons(gamepad);
axes = SDL_JoystickNumAxes(gamepad);
this->index = index;
return true;
if (axes >= 4) {
this->index = index;
return true;
}
else
{
buttons = -1;
axes = -1;
this->index = -1;
qCritical("Gamepad has less than 4 axes");
}
}
else
{