Merge pull request #2082 from blckmn/task_dispatch

SRXL: Added dispatcher start only if needed.
This commit is contained in:
Martin Budden 2017-01-10 23:03:08 +00:00 committed by GitHub
commit a0cb722254
4 changed files with 17 additions and 1 deletions

View File

@ -27,6 +27,17 @@
#include "fc/fc_dispatch.h"
static dispatchEntry_t *head = NULL;
static bool dispatchEnabled = false;
bool dispatchIsEnabled(void)
{
return dispatchEnabled;
}
void dispatchEnable(void)
{
dispatchEnabled = true;
}
void dispatchProcess(uint32_t currentTime)
{

View File

@ -26,5 +26,7 @@ typedef struct dispatchEntry_s {
struct dispatchEntry_s *next;
} dispatchEntry_t;
bool dispatchIsEnabled(void);
void dispatchEnable(void);
void dispatchProcess(uint32_t currentTime);
void dispatchAdd(dispatchEntry_t *entry, int delayUs);

View File

@ -235,7 +235,7 @@ void fcTasksInit(void)
setTaskEnabled(TASK_BATTERY, feature(FEATURE_VBAT) || feature(FEATURE_CURRENT_METER));
setTaskEnabled(TASK_RX, true);
setTaskEnabled(TASK_DISPATCH, true);
setTaskEnabled(TASK_DISPATCH, dispatchIsEnabled());
#ifdef BEEPER
setTaskEnabled(TASK_BEEPER, true);

View File

@ -316,6 +316,9 @@ bool spektrumInit(const rxConfig_t *rxConfig, rxRuntimeConfig_t *rxRuntimeConfig
rssi_channel = 0;
}
if (serialPort && srxlEnabled) {
dispatchEnable();
}
return serialPort != NULL;
}