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.
RTOS-Threads/src/Task2_Master.cpp@31:3dde2201e54d, 2014-05-12 (annotated)
- Committer:
- pHysiX
- Date:
- Mon May 12 05:12:19 2014 +0000
- Revision:
- 31:3dde2201e54d
- Parent:
- 30:d9b988f8d84f
- Child:
- 33:f88a6ee18103
Rearranged threads and approach
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
pHysiX | 27:18b6580eb0b1 | 1 | /* File: Task2_Master.cpp |
pHysiX | 27:18b6580eb0b1 | 2 | * Author: Trung Tin Ian HUA |
pHysiX | 27:18b6580eb0b1 | 3 | * Date: May 2014 |
pHysiX | 31:3dde2201e54d | 4 | * Purpose: Thread2M: Master PID control loop (attitude) |
pHysiX | 30:d9b988f8d84f | 5 | * Settings: 100Hz |
pHysiX | 30:d9b988f8d84f | 6 | * Timing: 40us |
pHysiX | 27:18b6580eb0b1 | 7 | */ |
pHysiX | 27:18b6580eb0b1 | 8 | #include "Task2_Slave.h" |
pHysiX | 27:18b6580eb0b1 | 9 | #include "setup.h" |
pHysiX | 27:18b6580eb0b1 | 10 | #include "PID.h" |
pHysiX | 27:18b6580eb0b1 | 11 | |
pHysiX | 27:18b6580eb0b1 | 12 | /* YPR Adjust */ |
pHysiX | 27:18b6580eb0b1 | 13 | |
pHysiX | 27:18b6580eb0b1 | 14 | volatile float adjust_attitude[3] = {0.0, 0.0, 0.0}; |
pHysiX | 27:18b6580eb0b1 | 15 | |
pHysiX | 27:18b6580eb0b1 | 16 | //bool counterTask2Master = false; |
pHysiX | 27:18b6580eb0b1 | 17 | |
pHysiX | 31:3dde2201e54d | 18 | //Timer |
pHysiX | 27:18b6580eb0b1 | 19 | void Task2_Master(void const *argument) |
pHysiX | 27:18b6580eb0b1 | 20 | { |
pHysiX | 31:3dde2201e54d | 21 | //Timer |
pHysiX | 30:d9b988f8d84f | 22 | if (armed) { |
pHysiX | 30:d9b988f8d84f | 23 | switch (mode) { |
pHysiX | 30:d9b988f8d84f | 24 | case RATE: |
pHysiX | 30:d9b988f8d84f | 25 | break; |
pHysiX | 28:aa72bd4ff103 | 26 | |
pHysiX | 30:d9b988f8d84f | 27 | case ATTITUDE: |
pHysiX | 30:d9b988f8d84f | 28 | default: |
pHysiX | 31:3dde2201e54d | 29 | //Timer |
pHysiX | 31:3dde2201e54d | 30 | AHRSSample(); |
pHysiX | 30:d9b988f8d84f | 31 | |
pHysiX | 31:3dde2201e54d | 32 | pitchPIDstable.setProcessValue((int) (ypr[1] - ypr_offset[1])); |
pHysiX | 31:3dde2201e54d | 33 | rollPIDstable.setProcessValue((int) (ypr[2] - ypr_offset[2])); |
pHysiX | 27:18b6580eb0b1 | 34 | |
pHysiX | 30:d9b988f8d84f | 35 | pitchPIDstable.setSetPoint(inputYPR[1]); |
pHysiX | 30:d9b988f8d84f | 36 | rollPIDstable.setSetPoint(inputYPR[2]); |
pHysiX | 30:d9b988f8d84f | 37 | |
pHysiX | 30:d9b988f8d84f | 38 | adjust_attitude[1] = pitchPIDstable.compute(); |
pHysiX | 30:d9b988f8d84f | 39 | adjust_attitude[2] = rollPIDstable.compute(); |
pHysiX | 30:d9b988f8d84f | 40 | adjust_attitude[2] *= -1; |
pHysiX | 27:18b6580eb0b1 | 41 | |
pHysiX | 30:d9b988f8d84f | 42 | //counterTask2Master = true; |
pHysiX | 31:3dde2201e54d | 43 | //Timer |
pHysiX | 30:d9b988f8d84f | 44 | break; |
pHysiX | 30:d9b988f8d84f | 45 | } |
pHysiX | 31:3dde2201e54d | 46 | //Timer |
pHysiX | 27:18b6580eb0b1 | 47 | } |
pHysiX | 27:18b6580eb0b1 | 48 | } |