/** * Initialize object. * \return 0 Success * \return -1 Failure to initialize or -2 for already initialized */ int32_t AttitudeActualInitialize(void) { // Don't set the handle to null if already registered if(UAVObjGetByID(ATTITUDEACTUAL_OBJID) != NULL) return -2; // Register object with the object manager handle = UAVObjRegister(ATTITUDEACTUAL_OBJID, ATTITUDEACTUAL_ISSINGLEINST, ATTITUDEACTUAL_ISSETTINGS, ATTITUDEACTUAL_NUMBYTES, &AttitudeActualSetDefaults); // Done if (handle != 0) { return 0; } else { return -1; } }
/** * Initialize object. * \return 0 Success * \return -1 Failure to initialize or -2 for already initialized */ int32_t WaypointInitialize(void) { // Don't set the handle to null if already registered if(UAVObjGetByID(WAYPOINT_OBJID) != NULL) return -2; // Register object with the object manager handle = UAVObjRegister(WAYPOINT_OBJID, WAYPOINT_ISSINGLEINST, WAYPOINT_ISSETTINGS, WAYPOINT_NUMBYTES, &WaypointSetDefaults); // Done if (handle != 0) { return 0; } else { return -1; } }
/** * Initialize object. * \return 0 Success * \return -1 Failure to initialize or -2 for already initialized */ int32_t GPSSatellitesInitialize(void) { // Don't set the handle to null if already registered if(UAVObjGetByID(GPSSATELLITES_OBJID) != NULL) return -2; // Register object with the object manager handle = UAVObjRegister(GPSSATELLITES_OBJID, GPSSATELLITES_ISSINGLEINST, GPSSATELLITES_ISSETTINGS, GPSSATELLITES_NUMBYTES, &GPSSatellitesSetDefaults); // Done if (handle != 0) { return 0; } else { return -1; } }
/** * Initialize object. * \return 0 Success * \return -1 Failure to initialize or -2 for already initialized */ int32_t PipXStatusInitialize(void) { // Don't set the handle to null if already registered if(UAVObjGetByID(PIPXSTATUS_OBJID) != NULL) return -2; // Register object with the object manager handle = UAVObjRegister(PIPXSTATUS_OBJID, PIPXSTATUS_ISSINGLEINST, PIPXSTATUS_ISSETTINGS, PIPXSTATUS_NUMBYTES, &PipXStatusSetDefaults); // Done if (handle != 0) { return 0; } else { return -1; } }
/** * Initialize object. * \return 0 Success * \return -1 Failure to initialize or -2 for already initialized */ int32_t PoiLocationInitialize(void) { // Don't set the handle to null if already registered if(UAVObjGetByID(POILOCATION_OBJID) != NULL) return -2; // Register object with the object manager handle = UAVObjRegister(POILOCATION_OBJID, POILOCATION_ISSINGLEINST, POILOCATION_ISSETTINGS, POILOCATION_NUMBYTES, &PoiLocationSetDefaults); // Done if (handle != 0) { return 0; } else { return -1; } }
/** * Initialize object. * \return 0 Success * \return -1 Failure to initialize or -2 for already initialized */ int32_t I2CVMInitialize(void) { // Don't set the handle to null if already registered if(UAVObjGetByID(I2CVM_OBJID) != NULL) return -2; // Register object with the object manager handle = UAVObjRegister(I2CVM_OBJID, I2CVM_ISSINGLEINST, I2CVM_ISSETTINGS, I2CVM_NUMBYTES, &I2CVMSetDefaults); // Done if (handle != 0) { return 0; } else { return -1; } }
/** * Initialize object. * \return 0 Success * \return -1 Failure to initialize or -2 for already initialized */ int32_t VtolPathFollowerSettingsInitialize(void) { // Don't set the handle to null if already registered if(UAVObjGetByID(VTOLPATHFOLLOWERSETTINGS_OBJID) != NULL) return -2; // Register object with the object manager handle = UAVObjRegister(VTOLPATHFOLLOWERSETTINGS_OBJID, VTOLPATHFOLLOWERSETTINGS_ISSINGLEINST, VTOLPATHFOLLOWERSETTINGS_ISSETTINGS, VTOLPATHFOLLOWERSETTINGS_NUMBYTES, &VtolPathFollowerSettingsSetDefaults); // Done if (handle != 0) { return 0; } else { return -1; } }
/** * Initialize object. * \return 0 Success * \return -1 Failure to initialize or -2 for already initialized */ int32_t RFM22BReceiverInitialize(void) { // Don't set the handle to null if already registered if(UAVObjGetByID(RFM22BRECEIVER_OBJID) != NULL) return -2; // Register object with the object manager handle = UAVObjRegister(RFM22BRECEIVER_OBJID, RFM22BRECEIVER_ISSINGLEINST, RFM22BRECEIVER_ISSETTINGS, RFM22BRECEIVER_NUMBYTES, &RFM22BReceiverSetDefaults); // Done if (handle != 0) { return 0; } else { return -1; } }
/** * Initialize object. * \return 0 Success * \return -1 Failure to initialize or -2 for already initialized */ int32_t InertialSensorSettingsInitialize(void) { // Don't set the handle to null if already registered if(UAVObjGetByID(INERTIALSENSORSETTINGS_OBJID) != NULL) return -2; // Register object with the object manager handle = UAVObjRegister(INERTIALSENSORSETTINGS_OBJID, INERTIALSENSORSETTINGS_ISSINGLEINST, INERTIALSENSORSETTINGS_ISSETTINGS, INERTIALSENSORSETTINGS_NUMBYTES, &InertialSensorSettingsSetDefaults); // Done if (handle != 0) { return 0; } else { return -1; } }
/** * Initialize object. * \return 0 Success * \return -1 Failure to initialize or -2 for already initialized */ int32_t HwQuantonInitialize(void) { // Don't set the handle to null if already registered if(UAVObjGetByID(HWQUANTON_OBJID) != NULL) return -2; // Register object with the object manager handle = UAVObjRegister(HWQUANTON_OBJID, HWQUANTON_ISSINGLEINST, HWQUANTON_ISSETTINGS, HWQUANTON_NUMBYTES, &HwQuantonSetDefaults); // Done if (handle != 0) { return 0; } else { return -1; } }
/** * Initialize object. * \return 0 Success * \return -1 Failure to initialize or -2 for already initialized */ int32_t AltitudeHoldDesiredInitialize(void) { // Don't set the handle to null if already registered if(UAVObjGetByID(ALTITUDEHOLDDESIRED_OBJID) != NULL) return -2; // Register object with the object manager handle = UAVObjRegister(ALTITUDEHOLDDESIRED_OBJID, ALTITUDEHOLDDESIRED_ISSINGLEINST, ALTITUDEHOLDDESIRED_ISSETTINGS, ALTITUDEHOLDDESIRED_NUMBYTES, &AltitudeHoldDesiredSetDefaults); // Done if (handle != 0) { return 0; } else { return -1; } }
/** * Initialize object. * \return 0 Success * \return -1 Failure to initialize or -2 for already initialized */ int32_t MagnetometerInitialize(void) { // Don't set the handle to null if already registered if(UAVObjGetByID(MAGNETOMETER_OBJID) != NULL) return -2; // Register object with the object manager handle = UAVObjRegister(MAGNETOMETER_OBJID, MAGNETOMETER_ISSINGLEINST, MAGNETOMETER_ISSETTINGS, MAGNETOMETER_NUMBYTES, &MagnetometerSetDefaults); // Done if (handle != 0) { return 0; } else { return -1; } }
/** * Initialize object. * \return 0 Success * \return -1 Failure to initialize or -2 for already initialized */ int32_t GroundTruthInitialize(void) { // Don't set the handle to null if already registered if(UAVObjGetByID(GROUNDTRUTH_OBJID) != NULL) return -2; // Register object with the object manager handle = UAVObjRegister(GROUNDTRUTH_OBJID, GROUNDTRUTH_ISSINGLEINST, GROUNDTRUTH_ISSETTINGS, GROUNDTRUTH_NUMBYTES, &GroundTruthSetDefaults); // Done if (handle != 0) { return 0; } else { return -1; } }
/** * Initialize object. * \return 0 Success * \return -1 Failure to initialize or -2 for already initialized */ int32_t FixedWingPathFollowerStatusInitialize(void) { // Don't set the handle to null if already registered if(UAVObjGetByID(FIXEDWINGPATHFOLLOWERSTATUS_OBJID) != NULL) return -2; // Register object with the object manager handle = UAVObjRegister(FIXEDWINGPATHFOLLOWERSTATUS_OBJID, FIXEDWINGPATHFOLLOWERSTATUS_ISSINGLEINST, FIXEDWINGPATHFOLLOWERSTATUS_ISSETTINGS, FIXEDWINGPATHFOLLOWERSTATUS_NUMBYTES, &FixedWingPathFollowerStatusSetDefaults); // Done if (handle != 0) { return 0; } else { return -1; } }
/** * Initialize object. * \return 0 Success * \return -1 Failure to initialize or -2 for already initialized */ int32_t ModuleSettingsInitialize(void) { // Don't set the handle to null if already registered if(UAVObjGetByID(MODULESETTINGS_OBJID) != NULL) return -2; // Register object with the object manager handle = UAVObjRegister(MODULESETTINGS_OBJID, MODULESETTINGS_ISSINGLEINST, MODULESETTINGS_ISSETTINGS, MODULESETTINGS_NUMBYTES, &ModuleSettingsSetDefaults); // Done if (handle != 0) { return 0; } else { return -1; } }
/** * Initialize object. * \return 0 Success * \return -1 Failure to initialize or -2 for already initialized */ int32_t ManualControlCommandInitialize(void) { // Don't set the handle to null if already registered if(UAVObjGetByID(MANUALCONTROLCOMMAND_OBJID) != NULL) return -2; // Register object with the object manager handle = UAVObjRegister(MANUALCONTROLCOMMAND_OBJID, MANUALCONTROLCOMMAND_ISSINGLEINST, MANUALCONTROLCOMMAND_ISSETTINGS, MANUALCONTROLCOMMAND_NUMBYTES, &ManualControlCommandSetDefaults); // Done if (handle != 0) { return 0; } else { return -1; } }
/** * Initialize object. * \return 0 Success * \return -1 Failure to initialize or -2 for already initialized */ int32_t FlightStatsSettingsInitialize(void) { // Don't set the handle to null if already registered if(UAVObjGetByID(FLIGHTSTATSSETTINGS_OBJID) != NULL) return -2; // Register object with the object manager handle = UAVObjRegister(FLIGHTSTATSSETTINGS_OBJID, FLIGHTSTATSSETTINGS_ISSINGLEINST, FLIGHTSTATSSETTINGS_ISSETTINGS, FLIGHTSTATSSETTINGS_NUMBYTES, &FlightStatsSettingsSetDefaults); // Done if (handle != 0) { return 0; } else { return -1; } }
/** * Initialize object. * \return 0 Success * \return -1 Failure to initialize or -2 for already initialized */ int32_t BaroAltitudeInitialize(void) { // Don't set the handle to null if already registered if(UAVObjGetByID(BAROALTITUDE_OBJID) != NULL) return -2; // Register object with the object manager handle = UAVObjRegister(BAROALTITUDE_OBJID, BAROALTITUDE_ISSINGLEINST, BAROALTITUDE_ISSETTINGS, BAROALTITUDE_NUMBYTES, &BaroAltitudeSetDefaults); // Done if (handle != 0) { return 0; } else { return -1; } }
/** * Initialize object. * \return 0 Success * \return -1 Failure to initialize or -2 for already initialized */ int32_t GCSTelemetryStatsInitialize(void) { // Don't set the handle to null if already registered if(UAVObjGetByID(GCSTELEMETRYSTATS_OBJID) != NULL) return -2; // Register object with the object manager handle = UAVObjRegister(GCSTELEMETRYSTATS_OBJID, GCSTELEMETRYSTATS_ISSINGLEINST, GCSTELEMETRYSTATS_ISSETTINGS, GCSTELEMETRYSTATS_NUMBYTES, &GCSTelemetryStatsSetDefaults); // Done if (handle != 0) { return 0; } else { return -1; } }
/** * Initialize object. * \return 0 Success * \return -1 Failure to initialize or -2 for already initialized */ int32_t CameraDesiredInitialize(void) { // Don't set the handle to null if already registered if(UAVObjGetByID(CAMERADESIRED_OBJID) != NULL) return -2; // Register object with the object manager handle = UAVObjRegister(CAMERADESIRED_OBJID, CAMERADESIRED_ISSINGLEINST, CAMERADESIRED_ISSETTINGS, CAMERADESIRED_NUMBYTES, &CameraDesiredSetDefaults); // Done if (handle != 0) { return 0; } else { return -1; } }
/** * Initialize object. * \return 0 Success * \return -1 Failure to initialize or -2 for already initialized */ int32_t VibrationAnalysisOutputInitialize(void) { // Don't set the handle to null if already registered if(UAVObjGetByID(VIBRATIONANALYSISOUTPUT_OBJID) != NULL) return -2; // Register object with the object manager handle = UAVObjRegister(VIBRATIONANALYSISOUTPUT_OBJID, VIBRATIONANALYSISOUTPUT_ISSINGLEINST, VIBRATIONANALYSISOUTPUT_ISSETTINGS, VIBRATIONANALYSISOUTPUT_NUMBYTES, &VibrationAnalysisOutputSetDefaults); // Done if (handle != 0) { return 0; } else { return -1; } }
/** * Register and new object in the object manager. * \param[in] id Unique object ID * \param[in] name Object name * \param[in] nameName Metaobject name * \param[in] isMetaobject Is this a metaobject (1:true, 0:false) * \param[in] isSingleInstance Is this a single instance or multi-instance object * \param[in] isSettings Is this a settings object * \param[in] numBytes Number of bytes of object data (for one instance) * \param[in] initCb Default field and metadata initialization function * \return Object handle, or NULL if failure. * \return */ UAVObjHandle UAVObjRegister(uint32_t id, const char *name, const char *metaName, int32_t isMetaobject, int32_t isSingleInstance, int32_t isSettings, uint32_t numBytes, UAVObjInitializeCallback initCb) { ObjectList *objEntry; ObjectInstList *instEntry; ObjectList *metaObj; // Get lock xSemaphoreTakeRecursive(mutex, portMAX_DELAY); // Check that the object is not already registered LL_FOREACH(objList, objEntry) { if (objEntry->id == id) { // Already registered, ignore xSemaphoreGiveRecursive(mutex); return NULL; } } // Create and append entry objEntry = (ObjectList *) pvPortMalloc(sizeof(ObjectList)); if (objEntry == NULL) { xSemaphoreGiveRecursive(mutex); return NULL; } objEntry->id = id; objEntry->name = name; objEntry->isMetaobject = (int8_t) isMetaobject; objEntry->isSingleInstance = (int8_t) isSingleInstance; objEntry->isSettings = (int8_t) isSettings; objEntry->numBytes = numBytes; objEntry->events = NULL; objEntry->numInstances = 0; objEntry->instances.data = NULL; objEntry->instances.instId = 0xFFFF; objEntry->instances.next = NULL; objEntry->linkedObj = NULL; // will be set later LL_APPEND(objList, objEntry); // Create instance zero instEntry = createInstance(objEntry, 0); if (instEntry == NULL) { xSemaphoreGiveRecursive(mutex); return NULL; } // Create metaobject and update linkedObj if (isMetaobject) { objEntry->linkedObj = NULL; // will be set later } else { // Create metaobject metaObj = (ObjectList *) UAVObjRegister(id + 1, metaName, NULL, 1, 1, 0, sizeof (UAVObjMetadata), NULL); // Link two objects objEntry->linkedObj = metaObj; metaObj->linkedObj = objEntry; } // Initialize object fields and metadata to default values if (initCb != NULL) { initCb((UAVObjHandle) objEntry, 0); } // Attempt to load object's metadata from the SD card (not done directly on the metaobject, but through the object) if (!objEntry->isMetaobject) { UAVObjLoad((UAVObjHandle) objEntry->linkedObj, 0); } // If this is a settings object, attempt to load from SD card if (objEntry->isSettings) { UAVObjLoad((UAVObjHandle) objEntry, 0); } // Release lock xSemaphoreGiveRecursive(mutex); return (UAVObjHandle) objEntry; }