the fish that looks like a jet
Dependencies: ADXL345 ADXL345_I2C IMUfilter ITG3200 mbed Servo
main.cpp@10:d9f1037f0cb0, 2014-01-31 (annotated)
- Committer:
- rkk
- Date:
- Fri Jan 31 05:18:19 2014 +0000
- Revision:
- 10:d9f1037f0cb0
- Parent:
- 9:8dd7a76756e2
- Child:
- 11:8ec915eb70f6
still working on driving mode
Who changed what in which revision?
User | Revision | Line number | New 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" |
rkk | 8:0574a5db1fc4 | 7 | //#include "PwmReader.h" |
rkk | 8:0574a5db1fc4 | 8 | #include "PwmIn.h" |
rkk | 6:a4d6f3e4bf28 | 9 | |
rkk | 8:0574a5db1fc4 | 10 | #define VOLUME_MAX 0.4 |
rkk | 8:0574a5db1fc4 | 11 | #define VOLUME_MIN 0.2 |
rkk | 6:a4d6f3e4bf28 | 12 | #define FREQUENCY_MAX 0.4 |
rkk | 6:a4d6f3e4bf28 | 13 | #define FREQUENCY_MIN 0.2 |
rkk | 6:a4d6f3e4bf28 | 14 | #define RUDDER_MAX 0.4 |
rkk | 6:a4d6f3e4bf28 | 15 | #define RUDDER_MIN 0.2 |
rkk | 8:0574a5db1fc4 | 16 | #define SIZE_ARRAY 500 |
rkk | 6:a4d6f3e4bf28 | 17 | |
sandwich | 2:430c068cf570 | 18 | bool quit=false; |
sandwich | 0:ff9bc5f69c57 | 19 | |
rkk | 8:0574a5db1fc4 | 20 | //InterruptIn event(p16); |
sandwich | 0:ff9bc5f69c57 | 21 | PololuMController mcon(p22, p6, p5); |
rkk | 8:0574a5db1fc4 | 22 | //Servo servo(p21); |
rkk | 8:0574a5db1fc4 | 23 | //Guardian ap(p21, p23, p24, p25, p26, p26); |
rkk | 8:0574a5db1fc4 | 24 | //Serial xbee(p13, p14); |
sandwich | 2:430c068cf570 | 25 | Serial pc(USBTX, USBRX); |
rkk | 8:0574a5db1fc4 | 26 | PwmIn ch3(p16,0.054,0.092); |
rkk | 8:0574a5db1fc4 | 27 | PwmIn ch6(p15,0.055,0.092); |
sandwich | 7:e005cfaff8d1 | 28 | Timer t; |
sandwich | 0:ff9bc5f69c57 | 29 | |
rkk | 6:a4d6f3e4bf28 | 30 | float throttle, frequency, rudder; |
sandwich | 7:e005cfaff8d1 | 31 | int main() |
sandwich | 7:e005cfaff8d1 | 32 | { |
sandwich | 7:e005cfaff8d1 | 33 | //ap.calibrate(); |
sandwich | 7:e005cfaff8d1 | 34 | //ap.set2D(); |
rkk | 8:0574a5db1fc4 | 35 | //ap.setoff(); |
sandwich | 0:ff9bc5f69c57 | 36 | t.start(); |
rkk | 8:0574a5db1fc4 | 37 | |
rkk | 8:0574a5db1fc4 | 38 | while(t.read() < 500) { |
sandwich | 7:e005cfaff8d1 | 39 | |
rkk | 8:0574a5db1fc4 | 40 | float vol_norm=ch6.dutycyclescaledup(); |
rkk | 8:0574a5db1fc4 | 41 | float freq_norm=ch3.dutycyclescaledup(); |
rkk | 10:d9f1037f0cb0 | 42 | |
rkk | 8:0574a5db1fc4 | 43 | |
sandwich | 7:e005cfaff8d1 | 44 | //mcon.drive_rectangular(t.read(), vol_norm*freq_norm, 3*freq_norm); |
rkk | 8:0574a5db1fc4 | 45 | //mcon.drive_sinusoidal(t.read(), vol_norm*freq_norm, 3*freq_norm); |
rkk | 10:d9f1037f0cb0 | 46 | float dutycycle = mcon.drive_sinusoidal(t.read(), vol_norm*freq_norm, freq_norm); |
rkk | 10:d9f1037f0cb0 | 47 | pc.printf("ch 3: %f, ch 6: %f, dc: %f, asin: %f\n", vol_norm, freq_norm, dutycycle, asin(sin(t.read())) ); |
sandwich | 7:e005cfaff8d1 | 48 | //pc.printf("time: %f\n\r", t.read()); |
sandwich | 7:e005cfaff8d1 | 49 | //pc.printf("throttle: %f frequency: %f rudder: %f\n\r",throttle,frequency,rudder); |
rkk | 9:8dd7a76756e2 | 50 | wait_ms(20); |
sandwich | 0:ff9bc5f69c57 | 51 | } |
sandwich | 0:ff9bc5f69c57 | 52 | t.stop(); |
sandwich | 0:ff9bc5f69c57 | 53 | } |