1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-02-20 10:54:14 +01:00

Replace malloc with FreeRTOS built-in functions

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@358 ebee16cc-31ac-478f-84a7-5cbb03baadba
This commit is contained in:
vassilis 2010-03-21 14:19:38 +00:00 committed by vassilis
parent a608c73470
commit 20f29b40e4
4 changed files with 10 additions and 12 deletions

View File

@ -129,7 +129,7 @@ int32_t EventPeriodicCreate(UAVObjEvent* ev, UAVObjEventCallback cb, int32_t per
}
}
// Create handle
objEntry = (PeriodicObjectList*)malloc(sizeof(PeriodicObjectList));
objEntry = (PeriodicObjectList*)pvPortMalloc(sizeof(PeriodicObjectList));
if (objEntry == NULL) return -1;
memcpy(&objEntry->evInfo.ev, ev, sizeof(UAVObjEvent));
objEntry->updatePeriodMs = periodMs;
@ -189,7 +189,7 @@ int32_t EventPeriodicDelete(UAVObjEvent* ev, UAVObjEventCallback cb)
{
// Object found, remove from list
LL_DELETE(objList, objEntry);
free(objEntry);
vPortFree(objEntry);
xSemaphoreGiveRecursive(mutex);
return 0;
}

View File

@ -38,8 +38,8 @@
#define $(NAMEUC)_NUMBYTES sizeof($(NAME)Data)
// Data access macros
#define $(NAMEUC)_GET(dataOut) UAVObjGetData($(NAME)GetHandle(), dataOut)
#define $(NAMEUC)_SET(dataIn) UAVObjGetData($(NAME)GetHandle(), dataIn)
#define $(NAME)Get(dataOut) UAVObjGetData($(NAME)GetHandle(), dataOut)
#define $(NAME)Set(dataIn) UAVObjSetData($(NAME)GetHandle(), dataIn)
// Object data
typedef struct {

View File

@ -144,7 +144,7 @@ UAVObjHandle UAVObjRegister(uint32_t id, const char* name, int32_t isMetaobject,
}
// Create and append entry
objEntry = (ObjectList*)malloc(sizeof(ObjectList));
objEntry = (ObjectList*)pvPortMalloc(sizeof(ObjectList));
if (objEntry == NULL)
{
xSemaphoreGiveRecursive(mutex);
@ -164,7 +164,7 @@ UAVObjHandle UAVObjRegister(uint32_t id, const char* name, int32_t isMetaobject,
else
{
objEntry->numInstances = 1;
objEntry->data.instance = malloc(numBytes);
objEntry->data.instance = pvPortMalloc(numBytes);
if (objEntry->data.instance == NULL)
{
xSemaphoreGiveRecursive(mutex);
@ -838,9 +838,9 @@ int32_t createInstance(ObjectList* obj, uint16_t instId)
// Create new instance
if (!obj->isSingleInstance && instId < UAVOBJ_MAX_INSTANCES)
{
elemEntry = (ObjectInstList*)malloc(sizeof(ObjectInstList));
elemEntry = (ObjectInstList*)pvPortMalloc(sizeof(ObjectInstList));
if (elemEntry == NULL) return -1;
elemEntry->data = malloc(obj->numBytes);
elemEntry->data = pvPortMalloc(obj->numBytes);
if (elemEntry->data == NULL) return -1;
memset(elemEntry->data, 0, obj->numBytes);
elemEntry->instId = instId;
@ -908,7 +908,7 @@ int32_t connectObj(UAVObjHandle obj, xQueueHandle queue, UAVObjEventCallback cb,
}
// Add queue to list
queueEntry = (ObjectQueueList*)malloc(sizeof(ObjectQueueList));
queueEntry = (ObjectQueueList*)pvPortMalloc(sizeof(ObjectQueueList));
if (queueEntry == NULL)
{
return -1;
@ -941,7 +941,7 @@ int32_t disconnectObj(UAVObjHandle obj, xQueueHandle queue, UAVObjEventCallback
if ( ( queueEntry->queue == queue && queueEntry->cb == cb ) )
{
LL_DELETE(objEntry->queues, queueEntry);
free(queueEntry);
vPortFree(queueEntry);
return 0;
}
}

View File

@ -28,8 +28,6 @@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#define $(METAOBJECT)
#include "openpilot.h"
#include "$(NAMELC).h"