|
dRonin
adbada4
dRonin firmware
|
Object manager library. This library holds a collection of all objects. It can be used by all modules/libraries to find an object reference. More...
#include "openpilot.h"#include <utlist.h>#include "pios_struct_helper.h"#include "pios_heap.h"#include "pios_mutex.h"#include "pios_queue.h"#include "pios_thread.h"#include "misc_math.h"Go to the source code of this file.
Data Structures | |
| struct | ObjectEventEntry |
| struct | ObjectEventEntryThrottled |
| struct | UAVOBase |
| struct | UAVOBase::UAVOInfo |
| struct | UAVOInfo |
| struct | UAVOMeta |
| struct | UAVOData |
| struct | UAVOSingle |
| struct | UAVOMultiInst |
| struct | UAVOMulti |
Macros | |
| #define | SET_BITS(var, shift, value, mask) var = (var & ~(mask << shift)) | (value << shift); |
| #define | MetaNumBytes sizeof(UAVObjMetadata) |
| #define | MetaBaseObjectPtr(obj) ((struct UAVOData *)((obj)-offsetof(struct UAVOData, metaObj))) |
| #define | MetaObjectPtr(obj) (&((obj)->metaObj.base)) |
| #define | MetaDataPtr(obj) ((UAVObjMetadata*)&((obj)->instance0)) |
| #define | LinkedMetaDataPtr(obj) ((UAVObjMetadata*)&((obj)->metaObj.instance0)) |
| #define | MetaObjectId(id) ((id)+1) |
| #define | ObjSingleInstanceDataOffset(obj) ((void*)(&(( (struct UAVOSingle*)obj )->instance0))) |
| #define | InstanceDataOffset(inst) ((void*)&(( (struct UAVOMultiInst*)inst )->instance)) |
| #define | InstanceData(instance) (void*)instance |
| #define | UAVO_CB_STACK_SIZE 512 |
| #define | INSTANCE_COPY_ALL 0xffffffff |
| #define | invokeCallback realInvokeCallback |
Typedefs | |
| typedef void * | InstanceHandle |
Functions | |
| struct UAVOBase | __attribute__ ((packed)) |
| static int32_t | sendEvent (struct UAVOBase *obj, uint16_t instId, UAVObjEventType event, void *obj_data, int len) |
| static InstanceHandle | createInstance (struct UAVOData *obj, uint16_t instId) |
| static InstanceHandle | getInstance (struct UAVOData *obj, uint16_t instId) |
| static int32_t | connectObj (UAVObjHandle obj_handle, struct pios_queue *queue, UAVObjEventCallback cb, void *cbCtx, uint8_t eventMask, uint16_t interval) |
| static int32_t | disconnectObj (UAVObjHandle obj_handle, struct pios_queue *queue, UAVObjEventCallback cb, void *cbCtx) |
| int32_t | UAVObjInitialize () |
| void | UAVObjGetStats (UAVObjStats *statsOut) |
| void | UAVObjClearStats () |
| static void | UAVObjInitMetaData (struct UAVOMeta *obj_meta) |
| static struct UAVOData * | UAVObjAllocSingle (uint32_t num_bytes) |
| static struct UAVOData * | UAVObjAllocMulti (uint32_t num_bytes) |
| UAVObjHandle | UAVObjRegister (uint32_t id, int32_t isSingleInstance, int32_t isSettings, uint32_t num_bytes, UAVObjInitializeCallback initCb) |
| UAVObjHandle | UAVObjGetByID (uint32_t id) |
| uint32_t | UAVObjGetID (UAVObjHandle obj_handle) |
| uint32_t | UAVObjGetNumBytes (UAVObjHandle obj) |
| UAVObjHandle | UAVObjGetLinkedObj (UAVObjHandle obj_handle) |
| uint16_t | UAVObjGetNumInstances (UAVObjHandle obj_handle) |
| uint16_t | UAVObjCreateInstance (UAVObjHandle obj_handle, UAVObjInitializeCallback initCb) |
| bool | UAVObjIsSingleInstance (UAVObjHandle obj_handle) |
| bool | UAVObjIsMetaobject (UAVObjHandle obj_handle) |
| bool | UAVObjIsSettings (UAVObjHandle obj_handle) |
| int32_t | UAVObjUnpack (UAVObjHandle obj_handle, uint16_t instId, const uint8_t *dataIn) |
| int32_t | UAVObjPack (UAVObjHandle obj_handle, uint16_t instId, uint8_t *dataOut) |
| int32_t | UAVObjSave (UAVObjHandle obj_handle, uint16_t instId) |
| int32_t | UAVObjLoad (UAVObjHandle obj_handle, uint16_t instId) |
| int32_t | UAVObjDeleteById (uint32_t obj_id, uint16_t inst_id) |
| int32_t | UAVObjSaveSettings () |
| int32_t | UAVObjLoadSettings () |
| int32_t | UAVObjDeleteSettings () |
| int32_t | UAVObjSaveMetaobjects () |
| int32_t | UAVObjLoadMetaobjects () |
| int32_t | UAVObjDeleteMetaobjects () |
| int32_t | UAVObjSetData (UAVObjHandle obj_handle, const void *dataIn) |
| int32_t | UAVObjSetDataField (UAVObjHandle obj_handle, const void *dataIn, uint32_t offset, uint32_t size) |
| int32_t | UAVObjGetData (UAVObjHandle obj_handle, void *dataOut) |
| int32_t | UAVObjGetDataField (UAVObjHandle obj_handle, void *dataOut, uint32_t offset, uint32_t size) |
| int32_t | UAVObjSetInstanceData (UAVObjHandle obj_handle, uint16_t instId, const void *dataIn) |
| int32_t | UAVObjSetInstanceDataField (UAVObjHandle obj_handle, uint16_t instId, const void *dataIn, uint32_t offset, uint32_t size) |
| int32_t | UAVObjGetInstanceData (UAVObjHandle obj_handle, uint16_t instId, void *dataOut) |
| int32_t | UAVObjGetInstanceDataField (UAVObjHandle obj_handle, uint16_t instId, void *dataOut, uint32_t offset, uint32_t size) |
| int32_t | UAVObjSetMetadata (UAVObjHandle obj_handle, const UAVObjMetadata *dataIn) |
| int32_t | UAVObjGetMetadata (UAVObjHandle obj_handle, UAVObjMetadata *dataOut) |
| UAVObjAccessType | UAVObjGetAccess (const UAVObjMetadata *metadata) |
| void | UAVObjSetAccess (UAVObjMetadata *metadata, UAVObjAccessType mode) |
| UAVObjAccessType | UAVObjGetGcsAccess (const UAVObjMetadata *metadata) |
| void | UAVObjSetGcsAccess (UAVObjMetadata *metadata, UAVObjAccessType mode) |
| uint8_t | UAVObjGetTelemetryAcked (const UAVObjMetadata *metadata) |
| void | UAVObjSetTelemetryAcked (UAVObjMetadata *metadata, uint8_t val) |
| uint8_t | UAVObjGetGcsTelemetryAcked (const UAVObjMetadata *metadata) |
| void | UAVObjSetGcsTelemetryAcked (UAVObjMetadata *metadata, uint8_t val) |
| UAVObjUpdateMode | UAVObjGetTelemetryUpdateMode (const UAVObjMetadata *metadata) |
| void | UAVObjSetTelemetryUpdateMode (UAVObjMetadata *metadata, UAVObjUpdateMode val) |
| UAVObjUpdateMode | UAVObjGetGcsTelemetryUpdateMode (const UAVObjMetadata *metadata) |
| void | UAVObjSetGcsTelemetryUpdateMode (UAVObjMetadata *metadata, UAVObjUpdateMode val) |
| int8_t | UAVObjReadOnly (UAVObjHandle obj_handle) |
| int32_t | UAVObjConnectQueueThrottled (UAVObjHandle obj_handle, struct pios_queue *queue, uint8_t eventMask, uint16_t interval) |
| int32_t | UAVObjConnectQueue (UAVObjHandle obj_handle, struct pios_queue *queue, uint8_t eventMask) |
| int32_t | UAVObjDisconnectQueue (UAVObjHandle obj_handle, struct pios_queue *queue) |
| void | UAVObjCbSetFlag (const UAVObjEvent *objEv, void *ctx, void *obj, int len) |
| void | UAVObjCbCopyData (const UAVObjEvent *objEv, void *ctx, void *obj, int len) |
| int32_t | UAVObjConnectCallbackThrottled (UAVObjHandle obj_handle, UAVObjEventCallback cb, void *cbCtx, uint8_t eventMask, uint16_t interval) |
| int32_t | UAVObjConnectCallback (UAVObjHandle obj_handle, UAVObjEventCallback cb, void *cbCtx, uint8_t eventMask) |
| int32_t | UAVObjDisconnectCallback (UAVObjHandle obj_handle, UAVObjEventCallback cb, void *cbCtx) |
| void | UAVObjUpdated (UAVObjHandle obj_handle) |
| void | UAVObjInstanceUpdated (UAVObjHandle obj_handle, uint16_t instId) |
| void | UAVObjIterate (void(*iterator)(UAVObjHandle obj)) |
| static void | __attribute__ ((used)) |
| static int32_t | pumpOneEvent (UAVObjEvent *msg, void *obj_data, int len) |
| int32_t | getEventMask (UAVObjHandle obj_handle, struct pios_queue *queue) |
| uint8_t | UAVObjCount () |
| uint32_t | UAVObjIDByIndex (uint8_t index) |
| void | UAVObjUnblockThrottle (struct ObjectEventEntryThrottled *throttled) |
| void | UAVObjRegisterNewInstanceCB (new_uavo_instance_cb_t callback) |
Variables | |
| uintptr_t | pios_uavo_settings_fs_id |
| struct ObjectEventEntry * | next_event |
| struct UAVOInfo | flags |
| struct UAVOBase | base |
| UAVObjMetadata | instance0 |
| uint32_t | id |
| struct UAVOMeta | metaObj |
| struct UAVOData * | next |
| uint16_t | instance_size |
| struct UAVOData | uavo |
| uint8_t | instance [] |
| uint16_t | num_instances |
| static struct UAVOData * | uavo_list |
| static struct ObjectEventEntry * | events_unused |
| static struct ObjectEventEntry * | events_unused_throttled |
| static struct pios_recursive_mutex * | mutex |
| static const UAVObjMetadata | defMetadata |
| static UAVObjStats | stats |
| static new_uavo_instance_cb_t | newUavObjInstanceCB |
| static void * | cb_stack |
Object manager library. This library holds a collection of all objects. It can be used by all modules/libraries to find an object reference.
Definition in file uavobjectmanager.c.
| struct UAVOBase base |
Definition at line 61 of file uavobjectmanager.c.
| struct UAVOInfo flags |
| uint32_t id |
Definition at line 62 of file uavobjectmanager.c.
| uint8_t instance[] |
Definition at line 62 of file uavobjectmanager.c.
| struct UAVOMultiInst instance0 |
Definition at line 62 of file uavobjectmanager.c.
| uint16_t instance_size |
Definition at line 69 of file uavobjectmanager.c.
| struct UAVOMeta metaObj |
Definition at line 67 of file uavobjectmanager.c.
| struct UAVOMultiInst * next |
Definition at line 68 of file uavobjectmanager.c.
| struct ObjectEventEntry* next_event |
Definition at line 62 of file uavobjectmanager.c.
| uint16_t num_instances |
Definition at line 63 of file uavobjectmanager.c.
| struct UAVOData uavo |
Definition at line 61 of file uavobjectmanager.c.