the fish that looks like a jet
Dependencies: ADXL345 ADXL345_I2C IMUfilter ITG3200 mbed Servo
main.cpp@11:8ec915eb70f6, 2014-01-31 (annotated)
- 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?
User | Revision | Line number | New 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 | } |