the fish that looks like a jet

Dependencies:   ADXL345 ADXL345_I2C IMUfilter ITG3200 mbed Servo

Committer:
sandwich
Date:
Thu Jan 30 02:04:23 2014 +0000
Revision:
7:e005cfaff8d1
Parent:
6:a4d6f3e4bf28
Child:
8:0574a5db1fc4
removed rtos and added interrupt reading

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 7:e005cfaff8d1 4 //#include "IMU.h"
sandwich 2:430c068cf570 5 #include "Servo.h"
sandwich 7:e005cfaff8d1 6 //#include "rtos.h"
sandwich 5:090ef6275773 7 #include "PwmReader.h"
rkk 6:a4d6f3e4bf28 8
rkk 6:a4d6f3e4bf28 9 #define THROTTLE_MAX 0.4
rkk 6:a4d6f3e4bf28 10 #define THROTTLE_MIN 0.2
rkk 6:a4d6f3e4bf28 11 #define FREQUENCY_MAX 0.4
rkk 6:a4d6f3e4bf28 12 #define FREQUENCY_MIN 0.2
rkk 6:a4d6f3e4bf28 13 #define RUDDER_MAX 0.4
rkk 6:a4d6f3e4bf28 14 #define RUDDER_MIN 0.2
rkk 6:a4d6f3e4bf28 15
sandwich 2:430c068cf570 16 bool quit=false;
sandwich 0:ff9bc5f69c57 17
sandwich 7:e005cfaff8d1 18 InterruptIn event(p16);
sandwich 0:ff9bc5f69c57 19 PololuMController mcon(p22, p6, p5);
sandwich 2:430c068cf570 20 Servo servo(p21);
sandwich 2:430c068cf570 21 Guardian ap(p21, p23, p24, p25, p26, p26);
sandwich 2:430c068cf570 22 Serial xbee(p13, p14);
sandwich 2:430c068cf570 23 Serial pc(USBTX, USBRX);
sandwich 7:e005cfaff8d1 24 PwmReader ch3(p16, 0.054, 0.094);
sandwich 7:e005cfaff8d1 25 PwmReader ch6(p15, 0.054, 0.094);
sandwich 7:e005cfaff8d1 26 Timer t;
sandwich 0:ff9bc5f69c57 27
rkk 6:a4d6f3e4bf28 28 float throttle, frequency, rudder;
sandwich 7:e005cfaff8d1 29 int main()
sandwich 7:e005cfaff8d1 30 {
sandwich 7:e005cfaff8d1 31 //ap.calibrate();
sandwich 7:e005cfaff8d1 32 //ap.set2D();
sandwich 7:e005cfaff8d1 33 ap.setoff();
sandwich 0:ff9bc5f69c57 34 t.start();
sandwich 7:e005cfaff8d1 35 while(1) {
sandwich 7:e005cfaff8d1 36
sandwich 7:e005cfaff8d1 37 float vol_norm=ch3.getDuty();
sandwich 7:e005cfaff8d1 38 float freq_norm=ch6.getDuty();
rkk 6:a4d6f3e4bf28 39
sandwich 7:e005cfaff8d1 40 pc.printf("channel 3: %f, channel 6: %f\n", vol_norm, freq_norm);
sandwich 7:e005cfaff8d1 41 //mcon.drive_rectangular(t.read(), vol_norm*freq_norm, 3*freq_norm);
sandwich 7:e005cfaff8d1 42 mcon.drive_sinusoidal(t.read(), vol_norm*freq_norm, 3*freq_norm);
sandwich 7:e005cfaff8d1 43 //pc.printf("time: %f\n\r", t.read());
sandwich 7:e005cfaff8d1 44 //pc.printf("throttle: %f frequency: %f rudder: %f\n\r",throttle,frequency,rudder);
sandwich 7:e005cfaff8d1 45 //wait_ms(10);
sandwich 0:ff9bc5f69c57 46 }
sandwich 0:ff9bc5f69c57 47 t.stop();
sandwich 0:ff9bc5f69c57 48 }