dRonin
adbada4
dRonin firmware
|
System module. More...
#include "openpilot.h"
#include <eventdispatcher.h>
#include <utlist.h>
#include "systemmod.h"
#include "sanitycheck.h"
#include "taskinfo.h"
#include "taskmonitor.h"
#include "pios_thread.h"
#include "pios_mutex.h"
#include "pios_queue.h"
#include "misc_math.h"
#include "morsel.h"
#include "annunciatorsettings.h"
#include "flightstatus.h"
#include "manualcontrolcommand.h"
#include "manualcontrolsettings.h"
#include "objectpersistence.h"
#include "stabilizationsettings.h"
#include "stateestimation.h"
#include "systemsettings.h"
#include "systemstats.h"
#include "watchdogstatus.h"
Go to the source code of this file.
Data Structures | |
struct | EventCallbackInfo |
struct | PeriodicObjectListStruct |
Macros | |
#define | DEBUG_MSG(format,...) |
#define | IDLE_COUNTS_PER_SEC_AT_NO_LOAD 995998 |
#define | STACK_SIZE_BYTES 1024 |
#define | TASK_PRIORITY PIOS_THREAD_PRIO_NORMAL |
#define | SYSTEM_UPDATE_PERIOD_MS 117 |
#define | SYSTEM_UPDATE_PERIOD_MS4TH (SYSTEM_UPDATE_PERIOD_MS) |
#define | MAX_UPDATE_PERIOD_MS 350 |
Typedefs | |
typedef struct PeriodicObjectListStruct | PeriodicObjectList |
Functions | |
static void | systemPeriodicCb (const UAVObjEvent *ev, void *ctx, void *obj_data, int len) |
static void | objectUpdatedCb (const UAVObjEvent *ev, void *ctx, void *obj, int len) |
static uint32_t | processPeriodicUpdates () |
static int32_t | eventPeriodicCreate (UAVObjEvent *ev, UAVObjEventCallback cb, struct pios_queue *queue, uint16_t periodMs) |
static int32_t | eventPeriodicUpdate (UAVObjEvent *ev, UAVObjEventCallback cb, struct pios_queue *queue, uint16_t periodMs) |
static void | configurationUpdatedCb (const UAVObjEvent *ev, void *ctx, void *obj, int len) |
void | system_task () |
static void | updateStats () |
static void | updateSystemAlarms () |
int32_t | SystemModStart (void) |
int32_t | SystemModInitialize (void) |
DONT_BUILD_IF (ANNUNCIATORSETTINGS_ANNUNCIATEAFTERARMING_NUMELEM!=ANNUNCIATORSETTINGS_ANNUNCIATEANYTIME_NUMELEM, AnnuncSettingsMismatch1) | |
DONT_BUILD_IF (ANNUNCIATORSETTINGS_ANNUNCIATEAFTERARMING_MAXOPTVAL!=ANNUNCIATORSETTINGS_ANNUNCIATEANYTIME_MAXOPTVAL, AnnuncSettingsMismatch2) | |
void | system_annunc_custom_string (const char *string) |
void | vApplicationIdleHook (void) |
void | EventGetStats (EventStats *statsOut) |
void | EventClearStats () |
int32_t | EventPeriodicCallbackCreate (UAVObjEvent *ev, UAVObjEventCallback cb, uint16_t periodMs) |
int32_t | EventPeriodicCallbackUpdate (UAVObjEvent *ev, UAVObjEventCallback cb, uint16_t periodMs) |
int32_t | EventPeriodicQueueCreate (UAVObjEvent *ev, struct pios_queue *queue, uint16_t periodMs) |
int32_t | EventPeriodicQueueUpdate (UAVObjEvent *ev, struct pios_queue *queue, uint16_t periodMs) |
DONT_BUILD_IF (ANNUNCIATORSETTINGS_MANUALBUZZER_MAXOPTVAL > MANUALCONTROLCOMMAND_ACCESSORY_NUMELEM, TooManyManualBuzzers) | |
Variables | |
static PeriodicObjectList * | objList |
static struct pios_recursive_mutex * | mutex |
static EventStats | stats |
static volatile uint32_t | idleCounter |
static volatile uint32_t | idleCounterClear |
static struct pios_thread * | systemTaskHandle |
static struct pios_queue * | objectPersistenceQueue |
static volatile bool | config_check_needed |
static const char *volatile | custom_blink_string |