ajout module_mouvement

Dependencies:   mbed xbee_lib ADXL345_I2C IMUfilter ITG3200 Motor RangeFinder Servo mbos PID

Fork of Labo_TRSE_Drone by HERBERT Nicolas

Committer:
arnaudsuire
Date:
Mon Apr 22 19:09:53 2013 +0000
Revision:
30:8374d1017296
Parent:
10:c8d73680b9fd
lundi 22

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Gaetan 10:c8d73680b9fd 1 /* Copyright (c) 2012 - 2013 Gaëtan PLEYBER
Gaetan 10:c8d73680b9fd 2 *
Gaetan 10:c8d73680b9fd 3 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
Gaetan 10:c8d73680b9fd 4 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
Gaetan 10:c8d73680b9fd 5 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
Gaetan 10:c8d73680b9fd 6 * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
Gaetan 10:c8d73680b9fd 7 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
Gaetan 10:c8d73680b9fd 8 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
Gaetan 10:c8d73680b9fd 9 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
Gaetan 10:c8d73680b9fd 10 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
Gaetan 10:c8d73680b9fd 11 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Gaetan 10:c8d73680b9fd 12 */
Gaetan 10:c8d73680b9fd 13
Gaetan 10:c8d73680b9fd 14 /*
Gaetan 10:c8d73680b9fd 15 * Description
Gaetan 10:c8d73680b9fd 16 * Input
Gaetan 10:c8d73680b9fd 17 * Output
Gaetan 10:c8d73680b9fd 18 */
Gaetan 10:c8d73680b9fd 19
Gaetan 6:0e3d95e9885e 20 /*#include "mbed.h"
Gaetan 6:0e3d95e9885e 21 #include "mbos.h"
NicolasH 0:8d93a5e4e4ab 22
NicolasH 0:8d93a5e4e4ab 23 DigitalOut myled(LED1);
NicolasH 0:8d93a5e4e4ab 24
NicolasH 0:8d93a5e4e4ab 25 int main() {
NicolasH 0:8d93a5e4e4ab 26 while(1) {
NicolasH 0:8d93a5e4e4ab 27 myled = 1;
NicolasH 0:8d93a5e4e4ab 28 wait(0.2);
NicolasH 0:8d93a5e4e4ab 29 myled = 0;
NicolasH 0:8d93a5e4e4ab 30 wait(0.2);
NicolasH 7:4757e20e6f0f 31
NicolasH 7:4757e20e6f0f 32 //modification
NicolasH 0:8d93a5e4e4ab 33 }
Gaetan 6:0e3d95e9885e 34 }*/
Gaetan 6:0e3d95e9885e 35 #include "mbed.h"
Gaetan 6:0e3d95e9885e 36 #include "mbos.h"
arnaudsuire 30:8374d1017296 37 #include "Module_Mouvement.h"
Gaetan 6:0e3d95e9885e 38
Gaetan 6:0e3d95e9885e 39 #define TASK1_ID 1 // Id for task 1 (idle task is 0)
Gaetan 6:0e3d95e9885e 40 #define TASK1_PRIO 50 // priority for task 1
Gaetan 6:0e3d95e9885e 41 #define TASK1_STACK_SZ 32 // stack size for task 1 in words
Gaetan 6:0e3d95e9885e 42 #define TASK2_ID 2 // Id for task 2
Gaetan 6:0e3d95e9885e 43 #define TASK2_PRIO 60 // priority for task 2
Gaetan 6:0e3d95e9885e 44 #define TASK2_STACK_SZ 32 // stack size for task 2 in words
Gaetan 6:0e3d95e9885e 45 #define TIMER0_ID 0 // Id for timer 0
Gaetan 6:0e3d95e9885e 46 #define TIMER0_PERIOD 1000 // Time period in milliseconds
Gaetan 6:0e3d95e9885e 47 #define TIMER0_EVENT 1 // Event flag (1 << 0)
Gaetan 6:0e3d95e9885e 48 #define T1_TO_T2_EVENT 2 // Event flag (1 << 1)
Gaetan 6:0e3d95e9885e 49
Gaetan 6:0e3d95e9885e 50 void task1(void); // task function prototypes
Gaetan 6:0e3d95e9885e 51 void task2(void);
Gaetan 6:0e3d95e9885e 52
Gaetan 6:0e3d95e9885e 53 DigitalOut led1(LED1);
Gaetan 6:0e3d95e9885e 54 DigitalOut led2(LED2);
Gaetan 6:0e3d95e9885e 55 mbos os(2, 1); // Instantiate mbos with 2 tasks & 1 timer
arnaudsuire 30:8374d1017296 56
arnaudsuire 30:8374d1017296 57
arnaudsuire 30:8374d1017296 58
arnaudsuire 30:8374d1017296 59 //ModuleMouvement toto;
arnaudsuire 30:8374d1017296 60 //ModuleMouvement toto1;
arnaudsuire 30:8374d1017296 61 ModuleMouvement toto2;
arnaudsuire 30:8374d1017296 62
Gaetan 6:0e3d95e9885e 63
Gaetan 6:0e3d95e9885e 64 int main(void)
Gaetan 6:0e3d95e9885e 65 {
Gaetan 6:0e3d95e9885e 66 // Configure tasks and timers
arnaudsuire 30:8374d1017296 67 /* os.CreateTask(TASK1_ID, TASK1_PRIO, TASK1_STACK_SZ, task1);
Gaetan 6:0e3d95e9885e 68 os.CreateTask(TASK2_ID, TASK2_PRIO, TASK2_STACK_SZ, task2);
Gaetan 6:0e3d95e9885e 69 os.CreateTimer(TIMER0_ID, TIMER0_EVENT, TASK1_ID);
Gaetan 6:0e3d95e9885e 70 // Start mbos
arnaudsuire 30:8374d1017296 71 os.Start();*/
Gaetan 6:0e3d95e9885e 72 // never return!
arnaudsuire 30:8374d1017296 73
arnaudsuire 30:8374d1017296 74 //test motor
arnaudsuire 30:8374d1017296 75 toto2.TestMotor();
arnaudsuire 30:8374d1017296 76
NicolasH 0:8d93a5e4e4ab 77 }
Gaetan 6:0e3d95e9885e 78
Gaetan 6:0e3d95e9885e 79 void task1(void)
Gaetan 6:0e3d95e9885e 80 {
Gaetan 6:0e3d95e9885e 81 os.SetTimer(TIMER0_ID, TIMER0_PERIOD, TIMER0_PERIOD);
Gaetan 6:0e3d95e9885e 82 while(1){
Gaetan 6:0e3d95e9885e 83 os.WaitEvent(TIMER0_EVENT);
Gaetan 6:0e3d95e9885e 84 led1 = !led1;
Gaetan 6:0e3d95e9885e 85 os.SetEvent(T1_TO_T2_EVENT, TASK2_ID);
Gaetan 6:0e3d95e9885e 86 }
Gaetan 6:0e3d95e9885e 87 }
Gaetan 6:0e3d95e9885e 88
Gaetan 6:0e3d95e9885e 89 void task2(void)
Gaetan 6:0e3d95e9885e 90 {
Gaetan 6:0e3d95e9885e 91 while(1){
Gaetan 6:0e3d95e9885e 92 os.WaitEvent(T1_TO_T2_EVENT);
Gaetan 6:0e3d95e9885e 93 led2 = 1;
Gaetan 6:0e3d95e9885e 94 wait_ms(100);
Gaetan 6:0e3d95e9885e 95 led2 = 0;
Gaetan 6:0e3d95e9885e 96 }
Gaetan 6:0e3d95e9885e 97 }
Gaetan 6:0e3d95e9885e 98 /*@endcode
Gaetan 6:0e3d95e9885e 99 */