Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: ESC FreeIMU mbed-rtos mbed
Revision 7:cda17cffec3c, committed 2014-05-24
- Comitter:
- MatteoT
- Date:
- Sat May 24 17:42:03 2014 +0000
- Parent:
- 6:4ddd68260f76
- Commit message:
- experiments (going to first launch)
Changed in this revision
| EthernetInterface.lib | Show diff for this revision Revisions of this file |
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/EthernetInterface.lib Tue May 13 22:56:44 2014 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -http://mbed.org/users/mbed_official/code/EthernetInterface/#f6ec7a025939
--- a/main.cpp Tue May 13 22:56:44 2014 +0000
+++ b/main.cpp Sat May 24 17:42:03 2014 +0000
@@ -52,15 +52,15 @@
//-------------------------------------------------------------------------------
//Setup ESCs
- ESC esc1(p23); esc1=0;
- ESC esc2(p24); esc1=0;
- ESC esc3(p25); esc1=0;
- ESC esc4(p26); esc1=0;
+ ESC esc1(p24); esc1=0;
+ ESC esc2(p23); esc2=0;
+ ESC esc3(p22); esc3=0;
+ ESC esc4(p21); esc4=0;
//Setup status leds
- DigitalOut led_imu(LED_IMU); led_imu = 0;
- DigitalOut led_esc(LED_ESC); led_esc = 0;
- DigitalOut led_txrx(LED_TXRX); led_txrx = 0;
+ DigitalOut led_imu(LED_IMU); led_imu = 0;
+ PwmOut led_esc(LED_ESC); led_esc = 0;
+ DigitalOut led_txrx(LED_TXRX); led_txrx = 0;
FAST_FLASH_ON(led_esc,5);
//Setup remote control
@@ -160,7 +160,7 @@
QUAD_STATE_UPDATE_DT(mainQuadState,main,dt_timer)
//Elaborate inputs to determinate outputs
- led_esc = 1;
+ //led_esc = 1;
{//Roll PID
float previous = mainQuadState.pid_rotation_r_error;
@@ -252,6 +252,15 @@
}
}
+ if (mainQuadState.actual_throttle_1 > 1) mainQuadState.actual_throttle_1 = 1;
+ else if (mainQuadState.actual_throttle_1 < 0) mainQuadState.actual_throttle_1 = 0;
+ if (mainQuadState.actual_throttle_2 > 1) mainQuadState.actual_throttle_2 = 1;
+ else if (mainQuadState.actual_throttle_2 < 0) mainQuadState.actual_throttle_2 = 0;
+ if (mainQuadState.actual_throttle_3 > 1) mainQuadState.actual_throttle_3 = 1;
+ else if (mainQuadState.actual_throttle_3 < 0) mainQuadState.actual_throttle_3 = 0;
+ if (mainQuadState.actual_throttle_4 > 1) mainQuadState.actual_throttle_4 = 1;
+ else if (mainQuadState.actual_throttle_4 < 0) mainQuadState.actual_throttle_4 = 0;
+
//OUTPUT
//-------------------------------------------------------------------------------
@@ -267,7 +276,7 @@
esc2();
esc3();
esc4();
- led_esc = 0;
+ led_esc = mainQuadState.actual_throttle_1;
} //end of 1/8 steps
@@ -276,12 +285,26 @@
//REMOTE INPUT/OUTPUT EXCHANGE
//-------------------------------------------------------------------------------
- led_txrx = 1;
+
txQuadState = mainQuadState; //send info back
txQuadState.timestamp = time(NULL);
if(TXRX_stateExchange(txQuadState,rxQuadState)){
+
+ led_txrx = 1;
+
mainQuadState.average_rx_dt = rxQuadState.average_rx_dt;
mainQuadState.actual_rx_dt = rxQuadState.actual_rx_dt;
+
+ mainQuadState.pid_rotation_r_kP = rxQuadState.pid_rotation_r_kP;
+ mainQuadState.pid_rotation_r_kI = rxQuadState.pid_rotation_r_kI;
+ mainQuadState.pid_rotation_r_kD = rxQuadState.pid_rotation_r_kD;
+ mainQuadState.pid_rotation_p_kP = rxQuadState.pid_rotation_p_kP;
+ mainQuadState.pid_rotation_p_kI = rxQuadState.pid_rotation_p_kI;
+ mainQuadState.pid_rotation_p_kD = rxQuadState.pid_rotation_p_kD;
+ mainQuadState.pid_rotation_y_kP = rxQuadState.pid_rotation_y_kP;
+ mainQuadState.pid_rotation_y_kI = rxQuadState.pid_rotation_y_kI;
+ mainQuadState.pid_rotation_y_kD = rxQuadState.pid_rotation_y_kD;
+
mainQuadState.ZERO_MEANS_ZERO_ALL_MOTORS_NOW__DANGER = rxQuadState.ZERO_MEANS_ZERO_ALL_MOTORS_NOW__DANGER;
if(mainQuadState.actual_rx_dt >= 100.0 * mainQuadState.target_rx_dt)
mainQuadState.ZERO_MEANS_ZERO_ALL_MOTORS_NOW__DANGER = 0; //experiments only ////NOTE: FIXME: THAT'S ABSOLUTELY UNSAFE WHILE FLYING!!!