the fish that looks like a jet
Dependencies: ADXL345 ADXL345_I2C IMUfilter ITG3200 mbed Servo
main.cpp
- Committer:
- rkk
- Date:
- 2014-01-29
- Revision:
- 6:a4d6f3e4bf28
- Parent:
- 5:090ef6275773
- Child:
- 7:e005cfaff8d1
File content as of revision 6:a4d6f3e4bf28:
#include "mbed.h" #include "motor_controller.h" #include "guardian.h" #include "IMU.h" #include "Servo.h" #include "rtos.h" #include "PwmReader.h" #define THROTTLE_MAX 0.4 #define THROTTLE_MIN 0.2 #define FREQUENCY_MAX 0.4 #define FREQUENCY_MIN 0.2 #define RUDDER_MAX 0.4 #define RUDDER_MIN 0.2 bool quit=false; PololuMController mcon(p22, p6, p5); Servo servo(p21); Guardian ap(p21, p23, p24, p25, p26, p26); Serial xbee(p13, p14); Serial pc(USBTX, USBRX); float throttle, frequency, rudder; //IMU imu(0.1, 0.3, 0.005, 0.005); void motor_thread(void const *args) { Timer t; t.start(); PwmReader thrDutyCycl(p7, THROTTLE_MIN, THROTTLE_MAX); PwmReader freqDutyCycl(p8, FREQUENCY_MIN, FREQUENCY_MAX); PwmReader rudDutyCycl(p9, RUDDER_MIN, RUDDER_MAX); while (quit==false) { throttle = thrDutyCycl.getDuty(); frequency = freqDutyCycl.getDuty(); rudder = rudDutyCycl.getDuty(); mcon.drive_sinusoidal(t.read(), throttle, frequency); // (time,amplitude,frequency,freqoffset) Thread::wait(5); } t.stop(); } int main() { Thread thread(motor_thread); //ap.calibrate(); //ap.set2D(); ap.setoff(); while(1) { //char buf[128]; // if (xbee.readable()) // { // xbee.gets(buf, 128); // //xbee.scanf("%d"); // pc.puts(buf); // } // memset(buf, 0, 128); //print throttle and frequency to the terminal pc.printf("throttle: %f frequency: %f rudder: %f\n\r",throttle,frequency,rudder); Thread::wait(500); } }