Added dispatcher start only if needed.

This commit is contained in:
blckmn 2017-01-11 08:57:26 +11:00
parent c4885d8018
commit a88d2db0d5
4 changed files with 19 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 isDispatchEnabled(void)
{
return dispatchEnabled;
}
void dispatchStart(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 isDispatchEnabled(void);
void dispatchStart(void);
void dispatchProcess(uint32_t currentTime);
void dispatchAdd(dispatchEntry_t *entry, int delayUs);

View File

@ -235,7 +235,9 @@ void fcTasksInit(void)
setTaskEnabled(TASK_BATTERY, feature(FEATURE_VBAT) || feature(FEATURE_CURRENT_METER));
setTaskEnabled(TASK_RX, true);
setTaskEnabled(TASK_DISPATCH, true);
if (isDispatchEnabled()) {
setTaskEnabled(TASK_DISPATCH, true);
}
#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) {
dispatchStart();
}
return serialPort != NULL;
}