Adrian Mitevski / Mbed 2 deprecated mDot_LoRa_Sensornode

Dependencies:   mDot_LoRa_Sensornode_Flowmeter_impl mbed-rtos mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers TaskAcceleration.cpp Source File

TaskAcceleration.cpp

00001 /*
00002  * TaskAcceleration.cpp
00003  *
00004  *  Created on: May 30, 2016
00005  *      Author: Adrian
00006  */
00007 
00008 #include "TaskAcceleration.h "
00009 
00010 TaskAcceleration::TaskAcceleration(MPU9250* mpu9250,Mutex* mutexI2C, Queue<MPU9250AccelerationMessage,ACCELERATION_QUEUE_LENGHT>* queue){
00011     this->mpu9250 = mpu9250;
00012     setMutex(mutexI2C);
00013     setQueue(queue);
00014 }
00015 
00016 TaskAcceleration::TaskAcceleration(MPU9250* mpu9250,rtos::Mutex* mutexI2C,
00017     rtos::Queue<MPU9250AccelerationMessage,ACCELERATION_QUEUE_LENGHT>* queue,
00018     osPriority priority, uint32_t stackSize, unsigned char *stackPointer){
00019     this->mpu9250 = mpu9250;
00020     setMutex(mutexI2C);
00021     setQueue(queue);
00022     setPriority(priority);
00023     setStackSize(stackSize);
00024     setStackPointer(stackPointer);
00025     setState(SLEEPING);
00026 }
00027 
00028 TaskAcceleration::~TaskAcceleration() {
00029     // TODO Auto-generated destructor stub
00030 }
00031 
00032 
00033 void TaskAcceleration::measure(){
00034     MPU9250AccelerationMessage mpu9250AccelerationMessage;
00035 
00036     while(true){
00037         mutexInterface->lock(osWaitForever);
00038         mpu9250AccelerationMessage.setXAcceleration(mpu9250->getXAxisAcceleration());
00039         mpu9250AccelerationMessage.setYAcceleration(mpu9250->getYAxisAcceleration());
00040         mpu9250AccelerationMessage.setZAcceleration(mpu9250->getZAxisAcceleration());
00041         mutexInterface->unlock();
00042 
00043         queue->put(&mpu9250AccelerationMessage,osWaitForever);
00044         osDelay(ACCELERATION_TASK_DELAY_MS);
00045     }
00046 
00047 
00048 }
00049 
00050 /**
00051  * @brief Sets the message Queue of the Task where the measured values will be stored
00052  * after the measurement
00053  * @param queueAcceleration the queue where the MPU9250AccelerationMessage will be stored
00054  */
00055 void TaskAcceleration::setQueue(Queue<MPU9250AccelerationMessage,ACCELERATION_QUEUE_LENGHT>* queue){
00056     this->queue = queue;
00057 
00058 }
00059 
00060