the fish that looks like a jet

Dependencies:   ADXL345 ADXL345_I2C IMUfilter ITG3200 mbed Servo

Committer:
rkk
Date:
Fri Jan 31 19:36:28 2014 +0000
Revision:
11:8ec915eb70f6
Parent:
10:d9f1037f0cb0
Child:
12:7eeb29892625
added main controller and control amplitude and frequency of fish tail properly

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sandwich 0:ff9bc5f69c57 1 #include "mbed.h"
rkk 11:8ec915eb70f6 2 //#include "motor_controller.h"
sandwich 2:430c068cf570 3 #include "guardian.h"
sandwich 7:e005cfaff8d1 4 //#include "IMU.h"
sandwich 2:430c068cf570 5 #include "Servo.h"
sandwich 7:e005cfaff8d1 6 //#include "rtos.h"
rkk 8:0574a5db1fc4 7 //#include "PwmReader.h"
rkk 11:8ec915eb70f6 8 //#include "PwmIn.h"
rkk 11:8ec915eb70f6 9 #include "MainController.h"
rkk 6:a4d6f3e4bf28 10
rkk 11:8ec915eb70f6 11 //bool quit=false;
sandwich 0:ff9bc5f69c57 12
rkk 8:0574a5db1fc4 13 //InterruptIn event(p16);
rkk 11:8ec915eb70f6 14
rkk 8:0574a5db1fc4 15 //Servo servo(p21);
rkk 8:0574a5db1fc4 16 //Guardian ap(p21, p23, p24, p25, p26, p26);
rkk 8:0574a5db1fc4 17 //Serial xbee(p13, p14);
sandwich 2:430c068cf570 18 Serial pc(USBTX, USBRX);
rkk 11:8ec915eb70f6 19 //
sandwich 7:e005cfaff8d1 20 Timer t;
rkk 11:8ec915eb70f6 21 //
rkk 11:8ec915eb70f6 22 //
rkk 11:8ec915eb70f6 23 //int counter;
rkk 11:8ec915eb70f6 24 //int divisions;
rkk 11:8ec915eb70f6 25 //float vol,frq;
rkk 11:8ec915eb70f6 26 //PwmOut led(LED1);
sandwich 0:ff9bc5f69c57 27
rkk 11:8ec915eb70f6 28 //void dosomething ()
rkk 11:8ec915eb70f6 29 //{
rkk 11:8ec915eb70f6 30 // if( counter == divisions) {
rkk 11:8ec915eb70f6 31 // ticker1.detach();
rkk 11:8ec915eb70f6 32 // vol = ch6.dutycyclescaledup();
rkk 11:8ec915eb70f6 33 // frq = ch3.dutycyclescaledup();
rkk 11:8ec915eb70f6 34 // counter = 0;
rkk 11:8ec915eb70f6 35 // ticker1.attach(&dosomething,1/(frq*float(divisions)));
rkk 11:8ec915eb70f6 36 // }
rkk 11:8ec915eb70f6 37 //
rkk 11:8ec915eb70f6 38 //
rkk 11:8ec915eb70f6 39 //
rkk 11:8ec915eb70f6 40 // }
rkk 11:8ec915eb70f6 41 //
rkk 11:8ec915eb70f6 42 //
rkk 11:8ec915eb70f6 43 //void startsomething()
rkk 11:8ec915eb70f6 44 //{
rkk 11:8ec915eb70f6 45 // counter = 0;
rkk 11:8ec915eb70f6 46 // divisions = 20;
rkk 11:8ec915eb70f6 47 //
rkk 11:8ec915eb70f6 48 //
rkk 11:8ec915eb70f6 49 // ticker1.attach(&dosomething,1/(frq*float(divisions)));
rkk 11:8ec915eb70f6 50 //}
rkk 11:8ec915eb70f6 51
sandwich 7:e005cfaff8d1 52 int main()
sandwich 7:e005cfaff8d1 53 {
sandwich 7:e005cfaff8d1 54 //ap.calibrate();
sandwich 7:e005cfaff8d1 55 //ap.set2D();
rkk 8:0574a5db1fc4 56 //ap.setoff();
sandwich 0:ff9bc5f69c57 57 t.start();
rkk 8:0574a5db1fc4 58
rkk 11:8ec915eb70f6 59 MainController mainCtrl;
rkk 11:8ec915eb70f6 60
rkk 11:8ec915eb70f6 61
rkk 11:8ec915eb70f6 62 //startsomething();
rkk 11:8ec915eb70f6 63
rkk 11:8ec915eb70f6 64 mainCtrl.start();
rkk 11:8ec915eb70f6 65
rkk 11:8ec915eb70f6 66
rkk 8:0574a5db1fc4 67 while(t.read() < 500) {
rkk 11:8ec915eb70f6 68
sandwich 7:e005cfaff8d1 69
sandwich 7:e005cfaff8d1 70 //mcon.drive_rectangular(t.read(), vol_norm*freq_norm, 3*freq_norm);
rkk 8:0574a5db1fc4 71 //mcon.drive_sinusoidal(t.read(), vol_norm*freq_norm, 3*freq_norm);
rkk 11:8ec915eb70f6 72 //float dutycycle = mcon.drive_sinusoidal(t.read(), vol_norm*freq_norm, freq_norm);
rkk 11:8ec915eb70f6 73 pc.printf("frq: %f, vol: %f, amp: %f, dut: %f\n", mainCtrl.getFrequency(), mainCtrl.getVolume(), mainCtrl.getAmplitude(),mainCtrl.getDutyCycle() );
sandwich 7:e005cfaff8d1 74 //pc.printf("time: %f\n\r", t.read());
sandwich 7:e005cfaff8d1 75 //pc.printf("throttle: %f frequency: %f rudder: %f\n\r",throttle,frequency,rudder);
rkk 11:8ec915eb70f6 76 wait_ms(100);
sandwich 0:ff9bc5f69c57 77 }
sandwich 0:ff9bc5f69c57 78 t.stop();
rkk 11:8ec915eb70f6 79 mainCtrl.stop();
sandwich 0:ff9bc5f69c57 80 }