Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mDot_LoRa_Sensornode_Flowmeter_impl mbed-rtos mbed
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
Generated on Tue Jul 12 2022 21:35:27 by
1.7.2