From 3ab7176e463268a471eb0e90c8520be4ff15a42f Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Tue, 28 May 2013 19:22:38 +0000 Subject: moved old FreeRTOS based MPU Softeware to mpu.old git-svn-id: https://svn.spreadspace.org/mur.sat@768 7de4ea59-55d0-425e-a1af-a3118ea81d4c --- software/mpu.old/src/camera.c | 62 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 software/mpu.old/src/camera.c (limited to 'software/mpu.old/src/camera.c') diff --git a/software/mpu.old/src/camera.c b/software/mpu.old/src/camera.c new file mode 100644 index 0000000..8ec62d3 --- /dev/null +++ b/software/mpu.old/src/camera.c @@ -0,0 +1,62 @@ +/* + * camera.c + * + * Created on: 23.10.2011 + * Author: Roland + */ + +#include "Types.h" +#include "FreeRTOS.h" +#include "queue.h" + +#define TASK_PRIORITY_camera ( tskIDLE_PRIORITY + 2 ) +#define TASK_STACK_SIZE_camera ( ( unsigned short ) 64 ) + +/* Globals */ +static Task_Param_t TaskParam_Camera; + +/* + * The camera is connected to the MPU vie I2C to control the camera, + * and has a 8 bit bus for data transmission ... + * */ +static void camera_Process_Task(void *Param) +{ + Message_t Msg; + portCHAR chMsgBufCam[10] = "Hello Kl!"; + + if(NULL == TaskParam_Camera.QueueHandles.hxq_Camera) + { + return; + } + + while(1) + { + if( xQueueReceive( TaskParam_Camera.QueueHandles.hxq_Camera, &Msg, MS(5) )) + { + switch (Msg.Sender) + { + case Sender_Kernel: + { + Msg.Sender = Sender_Camera; + Msg.pData = chMsgBufCam; + xQueueSend(TaskParam_Camera.QueueHandles.hxq_Kernel, &Msg, MS(10)); + } + default: {;} /* for the time being we ignore messages received from + someone other than the kernel. */ + } + } + } +} + +Status_t camera_Init_Camera(QH_t hxQueues) +{ + TaskParam_Camera.QueueHandles = hxQueues; + + if(!xTaskCreate( camera_Process_Task, (signed char *) "Camera", + TASK_STACK_SIZE_camera, &TaskParam_Camera, + TASK_PRIORITY_camera, &(TaskParam_Camera.hxTask_Self))) + return STATUS_ERROR_INIT; + + /*TODO: check for success and pass it over to caller. */ + return STATUS_OK; +} -- cgit v1.2.3