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: Motor PinDetect mbed
Fork of xbee_robot by
Revision 5:a1b28b06425a, committed 2016-02-26
- Comitter:
- conantina
- Date:
- Fri Feb 26 23:08:38 2016 +0000
- Parent:
- 4:580ea208038b
- Commit message:
- latest_version
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r 580ea208038b -r a1b28b06425a main.cpp
--- a/main.cpp Fri Feb 26 20:49:08 2016 +0000
+++ b/main.cpp Fri Feb 26 23:08:38 2016 +0000
@@ -1,5 +1,5 @@
//Linear Actuator to control the moving rod.
-
+/*
#include "mbed.h"
#include "Motor.h"
#include "PinDetect.h"
@@ -84,13 +84,13 @@
}
-/*
+*/
#include "mbed.h"
#include "Motor.h"
#include "PinDetect.h"
-float moving_time1 = 15.0; //we control the Table Actuator stop position by play with the moving time1; longer rising time,higher stop position
+float moving_time1 = 10.0; //we control the Table Actuator stop position by play with the moving time1; longer rising time,higher stop position
float moving_time2 = 20.0; //we control the Connector Actuator stop position by play with the moving time2; longer rising time,higher stop position
float charging_time = 20.0; //the time needed to charge the battery, during which the Connector Actuator will stay at its highest position
float wait_time = 3.0; //time waiting for the drone to slide to the triangle hindge
@@ -105,8 +105,8 @@
PinDetect load_sensor(p5);
PinDetect start(p6);
PinDetect reset(p7);
-
-
+DigitalOut led(LED1);
+DigitalOut led2(LED2);
//********************************************* Pb Interrupt Functions **************************************************
@@ -143,6 +143,7 @@
//********************************************* Functions for Base Station System *********************************************************
void reset_schedule()
{
+ led = 0;
for(int i = 0; i<(moving_time2/pulse_width);i++){
fall(m2,pulse_width);
}
@@ -156,32 +157,61 @@
{
for(int i=0;i<(moving_time1/pulse_width);i++) //Table Actuator lift the table up
{ if(is_reset){reset_schedule();return;}
+ led = !led;
raise(m1,pulse_width);
}
+ led2 = 1;
+ wait(0.2);
+ led2 = 0;
for(int i=0;i<(wait_time/pulse_width);i++) //Waiting for the quadcoptor to slide into the triangle hindge
{ if(is_reset){reset_schedule();return;}
+ led = !led;
hold();
}
+ led2 = 1;
+ wait(0.2);
+ led2 = 0;
+ for(int i = 0; i<(moving_time1/pulse_width);i++) //Table Actuator goes down
+ { if(is_reset){reset_schedule();return;}
+ led = !led;
+ fall(m1,pulse_width);
+ }
+ led2 = 1;
+ wait(0.2);
+ led2 = 0;
for(int i = 0; i<(moving_time2/pulse_width);i++) //Connector Actuator lifts up
{ if(is_reset){reset_schedule();return;}
+ led = !led;
raise(m2,pulse_width);
}
+ led2 = 1;
+ wait(0.2);
+ led2 = 0;
for(int i=0;i<(charging_time/pulse_width);i++) //Waiting for the battery to charge
{ if(is_reset){reset_schedule();return;}
+ led = !led;
hold();
}
+ led2 = 1;
+ wait(0.2);
+ led2 = 0;
for(int i = 0; i<(moving_time2/pulse_width);i++) //Connector Actuator goes down
{ if(is_reset){reset_schedule();return;}
+ led = !led;
fall(m2,pulse_width);
}
+ led2 = 1;
+ wait(0.2);
+ led2 = 0;
for(int i=0;i<(hold_time/pulse_width);i++) //Waiting for the quadcoptpr to take off
{ if(is_reset){reset_schedule();return;}
+ led = !led;
hold();
}
- for(int i = 0; i<(moving_time1/pulse_width);i++) //Table Actuator goes down
- { if(is_reset){reset_schedule();return;}
- fall(m1,pulse_width);
- }
+ led2 = 1;
+ wait(0.2);
+ led2 = 0;
+
}
//********************************************* Main Function *********************************************************
@@ -198,11 +228,14 @@
reset.attach_deasserted(&break_loop);
reset.setSampleFrequency();
while(1){
-
+ led = 1;
if(running_schedule){
schedule();
running_schedule = 0; //return to reset after finish the schedule
}
+ if(is_reset){
+ reset_schedule();
+ }
}
}
-*/
+
