the fish that looks like a jet

Dependencies:   ADXL345 ADXL345_I2C IMUfilter ITG3200 mbed Servo

Committer:
sandwich
Date:
Tue Jan 28 23:59:21 2014 +0000
Revision:
5:090ef6275773
Parent:
3:666c1bae1a34
Child:
6:a4d6f3e4bf28
added interrupts

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sandwich 0:ff9bc5f69c57 1 #include "mbed.h"
sandwich 0:ff9bc5f69c57 2 #include "motor_controller.h"
sandwich 2:430c068cf570 3 #include "guardian.h"
sandwich 0:ff9bc5f69c57 4 #include "IMU.h"
sandwich 2:430c068cf570 5 #include "Servo.h"
sandwich 2:430c068cf570 6 #include "rtos.h"
sandwich 5:090ef6275773 7 #include "PwmReader.h"
sandwich 2:430c068cf570 8 bool quit=false;
sandwich 0:ff9bc5f69c57 9
sandwich 0:ff9bc5f69c57 10 PololuMController mcon(p22, p6, p5);
sandwich 2:430c068cf570 11 Servo servo(p21);
sandwich 2:430c068cf570 12 Guardian ap(p21, p23, p24, p25, p26, p26);
sandwich 2:430c068cf570 13 Serial xbee(p13, p14);
sandwich 2:430c068cf570 14 Serial pc(USBTX, USBRX);
sandwich 0:ff9bc5f69c57 15
sandwich 5:090ef6275773 16
sandwich 2:430c068cf570 17 //IMU imu(0.1, 0.3, 0.005, 0.005);
sandwich 3:666c1bae1a34 18 void motor_thread(void const *args) {
sandwich 5:090ef6275773 19
sandwich 0:ff9bc5f69c57 20 Timer t;
sandwich 0:ff9bc5f69c57 21 t.start();
sandwich 5:090ef6275773 22 PwmReader thrDutyCycl(p7);
sandwich 5:090ef6275773 23
sandwich 5:090ef6275773 24 PwmReader freqDutyCycl(p8);
sandwich 5:090ef6275773 25
sandwich 5:090ef6275773 26 while (quit==false) {
sandwich 5:090ef6275773 27 float td = thrDutyCycl.getDuty();
sandwich 5:090ef6275773 28 float fd = freqDutyCycl.getDuty();
sandwich 5:090ef6275773 29 pc.printf("throttle: %f frequency: %f\n",td,fd);
sandwich 5:090ef6275773 30 mcon.drive_sinusoidal(t.read(), 1, 2*3.141 ,0); // (time,amplitude,frequency,freqoffset)
sandwich 5:090ef6275773 31 Thread::wait(10);
sandwich 0:ff9bc5f69c57 32 }
sandwich 0:ff9bc5f69c57 33 t.stop();
sandwich 0:ff9bc5f69c57 34 }
sandwich 2:430c068cf570 35
sandwich 2:430c068cf570 36 int main()
sandwich 2:430c068cf570 37 {
sandwich 2:430c068cf570 38 Thread thread(motor_thread);
sandwich 5:090ef6275773 39 //ap.calibrate();
sandwich 5:090ef6275773 40 //ap.set2D();
sandwich 5:090ef6275773 41 ap.setoff();
sandwich 5:090ef6275773 42 while(1) {
sandwich 5:090ef6275773 43 //char buf[128];
sandwich 5:090ef6275773 44 // if (xbee.readable())
sandwich 5:090ef6275773 45 // {
sandwich 5:090ef6275773 46 // xbee.gets(buf, 128);
sandwich 5:090ef6275773 47 // //xbee.scanf("%d");
sandwich 5:090ef6275773 48 // pc.puts(buf);
sandwich 5:090ef6275773 49 // }
sandwich 5:090ef6275773 50 // memset(buf, 0, 128);
sandwich 5:090ef6275773 51
sandwich 5:090ef6275773 52
sandwich 5:090ef6275773 53 Thread::wait(10);
sandwich 2:430c068cf570 54 }
sandwich 2:430c068cf570 55 }