Ian Hua / Quadcopter-mbedRTOS
Committer:
pHysiX
Date:
Mon May 19 15:30:05 2014 +0000
Revision:
51:04c6af4319e1
Parent:
50:8a0accb23007
Code rearranged into threads. Timer reserved for time critical routines only. Implemented working semaphore and mutex

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pHysiX 36:d95e3d6f2fc4 1 /* File: Task2_Slave.cpp
pHysiX 22:ef8aa9728013 2 * Author: Trung Tin Ian HUA
pHysiX 22:ef8aa9728013 3 * Date: May 2014
pHysiX 36:d95e3d6f2fc4 4 * Purpose: Thread2S: Slave PID control loop (rate)
pHysiX 36:d95e3d6f2fc4 5 * Functions: Gyro sample
pHysiX 36:d95e3d6f2fc4 6 * Settings: 400Hz
pHysiX 36:d95e3d6f2fc4 7 */
pHysiX 1:43f8ac7ca6d7 8 #include "mbed.h"
pHysiX 1:43f8ac7ca6d7 9 #include "rtos.h"
pHysiX 1:43f8ac7ca6d7 10 #include "tasks.h"
pHysiX 1:43f8ac7ca6d7 11
pHysiX 27:18b6580eb0b1 12 #ifndef _TASK2_SLAVE_H_
pHysiX 27:18b6580eb0b1 13 #define _TASK2_SLAVE_H_
pHysiX 1:43f8ac7ca6d7 14
pHysiX 29:6c03b30b59ec 15 // ms timing: Refer to tasks.h to change frequency of Task2_Slave.
pHysiX 27:18b6580eb0b1 16 #define TASK2_SLAVE_PERIOD 1000/TASK2_MASTER_FREQUENCY
pHysiX 1:43f8ac7ca6d7 17
pHysiX 21:b642c18eccd1 18 extern volatile float adjust[3];
pHysiX 38:ef65533cca32 19 extern int16_t gz;
pHysiX 21:b642c18eccd1 20 extern volatile int gyro[3];
pHysiX 10:ef5fe86f67fe 21
pHysiX 50:8a0accb23007 22 extern Semaphore sem_Task2_Slave;
pHysiX 50:8a0accb23007 23
pHysiX 27:18b6580eb0b1 24 /* Thread2-Slave: Gyro sample and Rate PID Control */
pHysiX 27:18b6580eb0b1 25 void Task2_Slave(void const *argument);
pHysiX 50:8a0accb23007 26
pHysiX 50:8a0accb23007 27 // ========================
pHysiX 50:8a0accb23007 28 // === Helper functions ===
pHysiX 50:8a0accb23007 29 // ========================
pHysiX 50:8a0accb23007 30 void Task2_Slave_ISR(void const *argument);
pHysiX 36:d95e3d6f2fc4 31 void gyroSample(void);
pHysiX 1:43f8ac7ca6d7 32
pHysiX 1:43f8ac7ca6d7 33 #endif