My modifications/additions to the code
Dependencies: ADXL345 ADXL345_I2C IMUfilter ITG3200 Servo fishgait mbed-rtos mbed pixy_cam
Fork of robotic_fish_ver_4_8 by
main.cpp@7:e005cfaff8d1, 2014-01-30 (annotated)
- 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?
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" |
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 | } |