/** * Initialise the telemetry module * \return -1 if initialisation failed * \return 0 on success */ int32_t MAVLinkInitialize(void) { UAVObjEvent ev; FlightTelemetryStatsInitialize(); GCSTelemetryStatsInitialize(); TelemetrySettingsInitialize(); // Initialize vars timeOfLastObjectUpdate = 0; // Create object queues queue = xQueueCreate(MAX_QUEUE_SIZE, sizeof(UAVObjEvent)); #if defined(PIOS_TELEM_PRIORITY_QUEUE) priorityQueue = xQueueCreate(MAX_QUEUE_SIZE, sizeof(UAVObjEvent)); #endif // Get telemetry settings object updateSettings(); // Initialize waypoint protocol mavlink_wpm_init(&wpm); // Start specific update rates // Create periodic event that will be used to update the telemetry stats txErrors = 0; txRetries = 0; memset(&ev, 0, sizeof(UAVObjEvent)); EventPeriodicQueueCreate(&ev, priorityQueue, STATS_UPDATE_PERIOD_MS); return 0; }
/** * Function used to initialize the first instance of each object. * This file is automatically updated by the UAVObjectGenerator. */ void UAVObjectsInitializeAll() { ActuatorCommandInitialize(); ActuatorDesiredInitialize(); ActuatorSettingsInitialize(); AHRSCalibrationInitialize(); AHRSSettingsInitialize(); AhrsStatusInitialize(); AttitudeActualInitialize(); AttitudeDesiredInitialize(); AttitudeRawInitialize(); AttitudeSettingsInitialize(); BaroAltitudeInitialize(); ExampleObject1Initialize(); ExampleObject2Initialize(); ExampleSettingsInitialize(); FlightBatteryStateInitialize(); FlightTelemetryStatsInitialize(); GCSTelemetryStatsInitialize(); GPSPositionInitialize(); GPSSatellitesInitialize(); GPSTimeInitialize(); HomeLocationInitialize(); ManualControlCommandInitialize(); ManualControlSettingsInitialize(); MixerSettingsInitialize(); MixerStatusInitialize(); ObjectPersistenceInitialize(); PositionActualInitialize(); StabilizationSettingsInitialize(); SystemAlarmsInitialize(); SystemSettingsInitialize(); SystemStatsInitialize(); TelemetrySettingsInitialize(); VTOLSettingsInitialize(); VTOLStatusInitialize(); }